如何使用存储在局部变量中的值更新sql表列。
在我的程序中,我使用以下语句从html页获取值:
String idd=request.getParameter("id");
String report=request.getParameter("rprt");
因此,现在我必须更新名为“ptest”的数据库表中report的值,并使用以下查询:
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/tcs","root","root");
Statement st= con.createStatement();
ResultSet rs;
int i=st.executeUpdate("update ptest set result = @reprt where patient_id=
@idd");
out.println("Successfully Entered");
但该值没有存储在数据库中,而是存储了null。
我已经看到这个问题,没有得到任何帮助。问题
请忽略我在这个问题上的任何错误,因为我是mysql新手。
2条答案
按热度按时间vyswwuz21#
在jdbc中,您使用?作为要在语句中插入值的位置的占位符。所以你应该这样做。。。
由于sql注入的可能性,使用这些值进行字符串连接是危险的,因此我通常将语句文本设置为static和final,并且如果您的值中有一个可能破坏sql语法的'。希望这有帮助
von4xj4u2#
您可以在java中使用准备好的语句。
setstring或setint可以在准备好的语句中设置不同的数据类型。
参数1,2基本上是问号的位置。setstring(1,report)意味着它将在查询的第一个问号中设置字符串report。
希望这段代码能帮助你实现你想要的。