Java连接FoxPro6.0数据库(测试)

阅读更多

   一直使用市面上流行数据库(Oracle,SqlServer,MySql,Sysbase),但最近公司有跟其他软件相关需要到FoxPro上面采集数据,不得已就自个儿先调试一个小的简易桥连接(odbc)方式,加上网络上这方面资料少而且多半是皮毛,在此我就先记录下这个,学习ing...

java代码:

package com.test;
import java.sql.*;

/**
 * 
 * ERIC 开源开发试验
 * 2008-6-9 - 下午04:44:38
 * @author zxb
 */
public class TestFoxPro {
	String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
	//String url="jdbc:odbc:driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=C:\\Program Files\\Microsoft Visual Studio\\Vfp98\\"; 
	String url="jdbc:odbc:driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=C:\\Program Files\\Microsoft Visual Studio\\Vfp98\\BOOKS.DBC"; 
	String user = "";
	String pwd = "";
	Connection conn;
	Statement stmt;
	ResultSet rs;
	
	public TestFoxPro(){
		try{
			Class.forName(driver);
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	
	public void getConn(){
		try{
			conn = DriverManager.getConnection(url,"","");
			stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	
	public void close(){
		try{
			if(stmt!=null){
				stmt.close();
			}
			if(conn!=null){
				conn.close();
			}
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
	
	public ResultSet executeQuery(String sql){
		try{
			if(stmt==null){
				getConn();
			}
			rs = stmt.executeQuery(sql);
		}catch(Exception ex){
			ex.printStackTrace();
		}
		return rs;
	}
	
	public static void main(String[] args){
		TestFoxPro ta=new TestFoxPro();
		String sql="select * from books where date_purchased>={^2008-05-23} ORDER BY book_ID";
		ResultSet rs=ta.executeQuery(sql);	
			try{
			while(rs.next()){
				System.out.println(rs.getString(1)+"====="+rs.getString(2)+"==="+rs.getString("date_purchased"));
			}
			rs.close();
			ta.close();
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}
}

 

   使用FoxPro6.0自带的默认数据库表, 使用日期比较查询...

你可能感兴趣的:(Java,软件测试,SQL,Microsoft,JDBC)