簡體   English   中英

准備好的語句中的異常

[英]Exception in prepared statement

以下是代碼。

     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     conn = DriverManager.getConnection("jdbc:odbc:cse");
     //Statement stmt;
     ResultSet rset;
     //stmt = conn.createStatement();

     String sql = " Select * from registration where id=?";
     PreparedStatement pst = conn.prepareStatement(sql);
     pst.setString(1, "101");
     rset = pst.executeQuery(sql);

     while (rset.next()) {
         arr.add(rset.getInt("id"));
         arr.add(rset.getString("first"));
         arr.add(rset.getString("last"));
         arr.add(rset.getInt("age"));
    }

  System.out.println(arr);
  pst.close();
  conn.close();

對於上面的正在獲取“錯誤:java.sql.SQLException:驅動程序不支持此功能”。 可能是什么問題?

您正在濫用PreparedStatement接口。 當使用PreparedStatement ,應使用查詢准備語句,綁定所有必需的參數,然后在不使用任何SQL的情況下執行該語句-這將導致該語句執行先前准備的SQL語句:

 String sql = "Select * from registration where id=?";
 PreparedStatement pst = conn.prepareStatement(sql);
 pst.setString(1, "101");
 rset = pst.executeQuery(); // Note - No args in the executeQuery call

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM