簡體   English   中英

PrepareStatement在選擇查詢Java中不起作用

[英]PrepareStatement not working in select query java

String checkq="select * from "+Dbc.TB_COMPANY+" where cmp_name=? and cmp_id!=?";
        pst=con.prepareStatement(checkq);
                pst.setString(1,"test"); pst.setString(2,"2")
        rs=st.executeQuery(checkq);

顯示您的SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在第1行的“ 13a”和cmp_id!= 3'附近使用

您正在調用st.executeQuery並傳入checkq ,這使我認為stStatement實例。 當然, checkq的字符串不是有效的SQL語句-它具有PreparedStatement占位符。 您應該改為在PreparedStatement上調用executeQuery (並且完全不要使用簡單的Statement ):

String checkq="select * from "+Dbc.TB_COMPANY+" where cmp_name=? and cmp_id!=?";
pst=con.prepareStatement(checkq);
pst.setString(1,"test");
pst.setString(2,"2")
// Not: rs=st.executeQuery(checkq);
rs = pst.executeQuery();
String checkq="select * from "+Dbc.TB_COMPANY+" where cmp_name=? and cmp_id!=?";
        pst=con.prepareStatement(checkq);
                pst.setString(1,"test"); pst.setString(2,"2")
        rs=pst.executeQuery(checkq);

您同時使用statement和prepareStatement

確保使用prepareStatement

暫無
暫無

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

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