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