java - 我想按名称搜索产品并在 java 中的 JTextField 中显示名称和售价
问题描述
"SELECT * FROM products WHERE product_name = ?";
String sql = "SELECT * FROM posdb.products WHERE products.product_name = ?";
PreparedStatement ps = myCon.CreateConnection().prepareStatement(sql);
这是我收到的错误消息:
You have an error in your sql statement, check the manual that
corresponds to your MariaDB server version for the right
syntax to use near '?' at line 1
解决方案
当您使用 a 时,PreparedStatement
您需要替换每个“?” 在执行实际查询之前使用有效值。
所以代码的基础是:
String sql = "Select * from SomeTable where SomeColumn = ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, someColumnVariable);
ResultSet rs = stmt.executeQuery();
推荐阅读
- php - 获取不到图片的真实姓名getClientOrginalName()
- python - 我可以使用 mlflow python API 注册 spark UDF 并在 Spark scala 代码中使用 UDF 吗?
- arrays - 选择 JSON 数组的列并将元素显示为新列
- docker - 从 Docker 运行时 Grafana 配置卷映射不起作用
- html - 引导汉堡菜单与移动视图上的导航项目折叠
- sql - 在 PostgreSQL 中使用 't' 'f' 表示更新布尔列
- ios - Audiokit 4.9.5 在 xcode 11.4 + swift 5.2 中崩溃,没有有用的错误消息
- laravel - 无法复制具有唯一 slug 字段的模型
- asp.net-core - 如何使 MS Identity SPA 示例适用于组织和个人帐户
- javascript - 如何将变量从 Extjs 发送到 HTML