一直使用市面上流行数据库(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自带的默认数据库表, 使用日期比较查询...