Java 實現對VF數據庫的訪問 – JAVA編程語言程序開發技術文章

  這段時間一直忙項目,CSDN荒廢有段時間瞭,現在項目即將驗收,花點時間整理一下項目中用到的幾個知識點,供以後學習和參考。由於實際的項目中要需要獲取另外一個系統的數據,這裡你可能已經想到到 被訪問的系統數據就是下面我要說的VF數據庫。
     VF編程語言這在以前也隻是聽說過,確從來都沒有接觸。開發工具大部分用的都是Visual Foxpro 7.0 ,這裡版本可能不是最新的。配置開發環境,熟悉語法,編寫demo程序 半天下來感覺事情並沒有想象中的那麼復雜。VF數據庫不像MySql、Oracle數據庫,新建項目和數據庫都可以在Visual Foxpro 7.0開發工具上進行操作,類似VB。  .dbf是表文件的後綴 .CDX 文件是表示與這個表相關的索引。
    項目中具體要實現的功能是要把每天的數據用報表的形式進行展示。VF系統中已經實現瞭這個功能,表格顯示的數據是從臨時表中獲取,而臨時表中的數據要訪問6張表中的數據計算出來,也就是表格顯示的數據沒有歷史記錄,每次查詢的都是根據日期要重新計算。這裡我在實現當然不能去拿臨時表中的數據,而是要訪問上面提到的6張表數據,每天的數據出來之後要計算一次把它存儲到另一張表中。一條記錄就對應一天的數據,報表顯示當天的數據其實就是數據表中當天的記錄瞭。
   下面就是VF數據庫訪問的Java編程實現:
[html] 
<span style="font-size:14px;">  // 這裡存放需要訪問的VF數據庫表數據 測試期間是把表數據放到本地來做的 
  private static    String  filePath="D:/ddrbdatas"; 
  public static Connection getConn() { 
        Connection conn = null; 
        try { 
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    
            String strurl = "jdbc:odbc:Driver={Microsoft Visual FoxPro Driver};UID=;SourceType=DBF;SourceDB="+filePath+";Exclusive=No;";    
            conn = DriverManager.getConnection(strurl);   
        } catch (ClassNotFoundException e) { 
            e.printStackTrace(); 
        } catch (SQLException e) { 
            e.printStackTrace(); 
        } 
        return conn; 
    } 
 
    public static PreparedStatement prepare(Connection conn,  String sql) { 
        PreparedStatement pstmt = null;  
        try { 
            if(conn != null) { 
                pstmt = conn.prepareStatement(sql); 
            } 
        } catch (SQLException e) { 
            e.printStackTrace(); 
        } 
        return pstmt; 
    } 
     
    public static ResultSet getResultSet(PreparedStatement stmt) { 
        ResultSet rs = null; 
        try { 
            if(stmt != null) { 
                rs = stmt.executeQuery(); 
            } 
        } catch (SQLException e) { 
            e.printStackTrace(); 
        } 
        return rs; 
    }</span> 
  數據訪問三部曲就到這裡,有瞭rs之後然後循環遍歷數據表中每條記錄,取得想要的字段值就不在話下瞭吧!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。