1

「ORA-00933:SQLコマンドが正しく終了していません」というエラーが表示されます

 rs = st.executeQuery("select * from msg_new_to_bde t where t.ACTION = 804 and t.seq > ? order by t.seq desc" + sequenceID);
4

3 に答える 3

2

クエリに連結sequenceIDしています。有効なクエリではありません。

クエリは次のようになります。

     rs = st.executeQuery("select * from msg_new_to_bde t 
      where t.ACTION = 804 and t.seq > ? order by t.seq desc");  
     PreparedStatement.setInt(1,sequenceID );// setting the column using preparedStatement
于 2012-12-18T16:59:50.447 に答える
1

これを試して:

rs = st.executeQuery("select * from msg_new_to_bde t where t.ACTION = 804 and t.seq > " + sequenceID + " order by t.seq desc");
于 2012-12-18T16:59:59.613 に答える
1

sequenceIDをパラメーターとしてprepared-statementに渡してみてください。

  String query="select * from msg_new_to_bde t where t.ACTION = 804 and t.seq > ? order by t.seq desc"; 
  // int(your datatype) input parameterized.  
  PreparedStatement st = con.prepareStatement(query);  
  st.setInt(1, sequenceID);  
  rs = st.executeQuery();  
于 2012-12-18T17:16:17.530 に答える