首页 > 解决方案 > 用于使用局部变量中的值更新列的 SQL 查询

问题描述

如何使用存储在局部变量中的值更新我的 SQL 表列。

在我的程序中,我使用以下语句从 HTML 页面中获取值:

String idd=request.getParameter("id");
String report=request.getParameter("rprt");

所以现在我必须更新名为“ptest”的数据库表中报告的值,并且我正在使用以下查询:

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 新手,请忽略我在这个问题中的任何错误。

标签: javamysql

解决方案


您可以在 java 中使用准备好的语句。

setString 或 setInt 可以在准备好的语句中设置不同的数据类型。

参数1、2基本上就是问号的位置。setString(1,report) 表示它将在查询的第一个问号中设置字符串报告。

希望这段代码能帮助你实现你想要的。

String query = "update ptest set result = ? where patient_id = ?";
PreparedStatement preparedStatement = con.prepareStatement(query);

preparedStatement.setString(1, report);
preparedStatement.setString(2, idd);

preparedStatement.executeUpdate();

推荐阅读