2016-03-18 37 views
0

我創建了一個DB(student.db3)與sqlite2009pro加密(密碼)protected.how連接這JTable.see下面的代碼如何將SQLite2009pro連接到jtable?

import java.sql.*; 
    import javax.swing.*; 

    public class javaconnect { 

      Connection conn=null; 
      public static Connection connecrDb(){ 
     try{ 

      Class.forName("org.sqlite.JDBC"); 
      Connection  conn=DriverManager.getConnection("jdbc:sqlite:C:\\Users\\ME\\Desktop\\MY PROJECTS\\webcam\\sqlite3\\student.db3"); 
    //JOptionPane.showMessageDialog(null,"Connection Established");C:\Users\ME\Desktop\MY PROJECTS\Bunker Calcultaion Tool 
    return conn; 
    }catch (Exception e){ 

     JOptionPane.showMessageDialog(null, e); 
     return null; 

    } 


} 

} 

,我調用這個類像,看到婁代碼要做到這一點

public void Update_table() { 

    try{ 
    conn=javaconnect.connecrDb(); 
    String sql="SELECT * FROM grade"; 

    pst=conn.prepareStatement(sql); 
    rs=pst.executeQuery(); 
    jTable1.setModel(DbUtils.resultSetToTableModel(rs)); 


} 
catch(Exception e){ 

     JOptionPane.showMessageDialog(null, "problem exists"); 

    } 
} 

回答

0

的一種方式是有DbUtils.resultSetToTableModel方法返回javax.swing.table.DefaultTableModel中的一個實例。

你可以構建的DefaultTableModel與此構造:

DefaultTableModel(Vector data, Vector columnNames) 

數據向量包含所有行。每一行本身就是一個Vector,它包含每一行中的字段值。

所以,你可以使用類似下面的代碼:

public static TableModel resultSetToTableModel(ResultSet rs) { 
    Vector data = new Vector(); 
    while (rs.next()) { 
     Vector row = new Vector(); 
     row.add(rs.getObject(1)); 
     row.add(rs.getObject(2)); 
     ... repeat for each field... 

     data.add(row); 
    }   

    Vector columnNames = new Vector(); 
    columnNames.add("columnName1"); 
    columnNames.add("columnName2"); 
    ... repeat for each field... 

    TableModel result = new DefaultTableModel(data, columnNames); 

    return result; 
} 
+0

上面的代碼無法連接加密(密碼保護)database.please再次閱讀我的問題。 – akathir79

+0

好的,基於問題的標題,我假設這是關於使用JDBC和JTable。如果問題是,你不能連接到所有的數據庫,再看看這些: http://stackoverflow.com/questions/12803140/java-jdbc-driver-sqlite-3-7-2-無法打開數據庫測試db文件是加密 http://stackoverflow.com/questions/27218985/how-to-set-database-password-in-sqlite-jdbc https: //gist.github.com/ggiraldez/7141132 基本上,標準的SQLite JDBC驅動程序似乎不支持加密。 –