rak*_*rak 0 java prepared-statement where
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);
Run Code Online (Sandbox Code Playgroud)
显示 您的SQL语法中有错误; 查看与您的MySQL服务器版本对应的手册,以便在''13a'附近使用正确的语法,并在第1行使用cmp_id!= 3'
你正在打电话st.executeQuery
和传入checkq
,这让我认为st
是一个Statement
实例.checkq
当然,字符串输入不是有效的SQL语句 - 它中包含PreparedStatement
占位符.你应该打电话executeQuery
给PreparedStatement
(而不是简单地使用简单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();
Run Code Online (Sandbox Code Playgroud)