SQL API


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

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

    新增:
    stmt.executeUpdate(“INSERT INTO message VALUES(‘主題’, 
                                                          '[email protected]‘, ‘留言內容’, ‘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); 
Next: 專題進度09_06 Prev: MySQL 格式及語法(其實SQL通用?)