java - 用于使用局部变量中的值更新列的 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 新手,请忽略我在这个问题中的任何错误。
解决方案
您可以在 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();
推荐阅读
- migration - Http 客户端升级到 Micronaut 3.0 失败(ClassNotFoundException AsyncSSLPrivateKeyMethod)
- html - 我该如何修复这个 vue-carousel?
- firebase-cloud-messaging - 我可以在 Firebase 云消息传递控制台中向特定用户发送通知吗
- angular - 我想返回在 d url 中获取的特定 id 详细信息
- html - 避免跨度剪切/新行
- android - 任务 ':app:minifyReleaseWithR8' inJenkins 执行失败
- javascript - 在函数中为 useState 变量设置值时出错
- javascript - 仅显示一次预加载器 jquery
- asp.net - 异常 - 无法获取转换结果标头。数据传输错误。数据传输错误 109
- ios - SwiftUI 移动修改器不适用于 iPhone 和 iPad iOS 15 模拟器