我想编写一个包含JSP参数的SQL查询。 我试过这样的
String sqlstring = "\"select"+Activity+" from backgroundcost where onpremprice =' "
+service+" '\"";
PreparedStatement ps = con.prepareStatement(sqlstring);
ResultSet rs = ps.executeQuery();
我收到了错误。
答案 0 :(得分:1)
首先,我希望你的意思是service
是一个来自JSP形式的变量,这个变量最终在你的Controller中,你的控制器将对数据库层的访问委托给另一个类。
您的请求存在多个问题:
Activity
?可能你错过了'选择'和'活动'的价值之间的空格特征'PreparedStatement`的目标是避免SQL注入。您必须使用我在下面显示的代码,而不是直接在构建的SQL语句中注入的参数。
如果您有多个字符串连接
StringBuilder
醇>
“
String sqlstring = "select activity from backgroundcost where onpremprice = ?";
PreparedStatement ps = con.prepareStatement(sqlstring);
ps.setString(1, service);
ResultSet rs = ps.executeQuery();
答案 1 :(得分:0)
不是简短的回答。在视图中使用数据库逻辑是一种糟糕的设计。将params从你的jsp传递给后端java bean,让你填写查询
答案 2 :(得分:0)
让它像这样..
String sqlstring = "select * from backgroundcost where onpremprice ='"+service+" '";
PreparedStatement ps = con.prepareStatement(sqlstring);
ResultSet rs = ps.executeQuery();
//代替*你可以输入你需要选择的列名。