9/07/2008

SQL API


Connection物件是代表Java與資料庫的連線
    Connection conn = DriverManager.getConnection(
                          url, user, password);


Statement物件執行SQL
    Statement stmt = conn.createStatement();

    新增:
    stmt.executeUpdate("INSERT INTO message VALUES('主題', 
                                                          'gonex45@mail.com', '留言內容', '2008-8-29')");

ResultSet物件接收Statement物件的SQL結果

    ResultSet result =
                  stmt.executeQuery("SELECT * FROM message");
    while(result.next()) {
        System.out.print(result.getString("name") + "\t");
        System.out.print(result.getString("email") + "\t");
        System.out.print(result.getString("subject") + "\t");
        System.out.print(result.getString("time") + "\t");
        System.out.println(result.getString("memo") + "\t");
    }

    使用查詢到的結果之欄位順序來顯示結果的方式如下:
    ResultSet result =
                  stmt.executeQuery("SELECT * FROM message");
    while(result.next()) {
        System.out.print(result.getString(1) + "\t");
        System.out.print(result.getString(2) + "\t");
        System.out.print(result.getString(3) + "\t");
        System.out.print(result.getString(4) + "\t");
        System.out.println(result.getString(5) + "\t");
    }


介面 ResultSetMetaData 用於獲取關於 ResultSet 物件中列的型別和屬性資訊的物件。






創建 ResultSetMetaData 物件 rsmd,並使用 rsmd 尋找 rs 有多少列,以及 rs 中的第一列是否可以在 WHERE 子句中使用。


     ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");      ResultSetMetaData rsmd = rs.getMetaData();      int numberOfColumns = rsmd.getColumnCount();      boolean b = rsmd.isSearchable(1); 

沒有留言:

張貼留言