参数传递后在SQL中引用参数报错“标识符无效”
小弟新手上路写一个简单的条件查询
用form表单post传递选择条件参数到查询的JSP中
用
String gsnum=request.getParameter("gsnum");
接收到参数后
直接在SQL语句中WHERE后面添加
AND GS=gsnum
报错
错误代码500
我直接在另一个页面中直接接收参数并在页面上显示是有结果的
不能直接这样引用吗?
------最佳解决方案--------------------字符串就用AND?GS='"+ gsnum +"'
------其他解决方案--------------------AND (GS= '"+ (gsnum.equals("GS") ? "'' or 1 == 1" : gsnum) +"')
------其他解决方案--------------------where后面直接加条件不用and 条件和条件之间才加and
------其他解决方案--------------------
就是条件和条件之间的 WHERE后面有条件的
我要加一条条件 所以加的AND***
------其他解决方案--------------------楼上正解,很无语。
------其他解决方案--------------------
感谢! 结果有了 但是还有一个问题
我原来form表单是做的一个下拉框
<option value="GS" selected>选择所有</option>
这样我如果默认全选的话就相当于
AND GS=GS
如果按你这样改的话 默认全选这里该怎么改动呢?
------其他解决方案--------------------if(GS="GS") sql不加and
------其他解决方案--------------------上面没写好,if(GS.equal("GS")) sql不加and
------其他解决方案--------------------感谢楼上几位 问题已经解决了
if(!gsnum.equals("")){
gsnum="'"+gsnum+"'";
}
else{
gsnum="GS";
}
我在接收参数的JSP中这样解决的