2017-12-31 17 views
-1

から情報を抽出しながら、私の質問は、コードは以下の通りですデータベースを検索するJava Webプログラムについてです、クエリ ごとに生徒のリストを返します - ここでは「S」"executeQueryメソッドを取得することは更新に使用できません。" NetBeansでのエラーデータベース

public class StudentDAO { 
     public List<Student> getStudent(String s){ 
      List<Student> lst=new ArrayList<>(); 
      try{ 
       Context ctx =new InitialContext(); 
       DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/test"); 
       Connection con=ds.getConnection(); 
       Statement st = con.createStatement(); 
       ResultSet res=st.executeQuery("select * from student where "+s); 
       while(res.next()) 
       { 
        lst.add(new Student(res.getString(1),res.getString(2),res.getString(3),res.getString(4)));    
       } 
       res.close(); 
       con.close(); 
     } 
     catch(Exception e){ 
      System.out.println("errrrr..."+e.getMessage()); 
     } 
     return lst; 
    } 
} 

生徒を検索したいカテゴリに基づいた文字列です。 しかし、私は次のエラー取得しています: - 任意のアップデートexecuteUpdateメソッドを実行するには

errrrr...executeQuery method can not be used for update. 
+1

[必ずしも必要読み取り(https://stackoverflow.com/q/1582161/335858)を見ています。この特定の問題の解決については忘れてください。あなたのコードはより大きな問題を解決する必要があります。具体的なことを学ぶ限り、何が起こるかを見るために例外が発生したときに 's'を表示してください。 – dasblinkenlight

+0

サンプルのCRUDの例があります。 –

答えて

1


のexecuteQuery(文字列のSQL)を使用している
は、単一のResultSetオブジェクトを返す、指定されたSQL文を実行します。

execute(String sql)
複数の結果を返す可能性のある特定のSQL文を実行します。詳しくは

Statement