gpt4 book ai didi

java - 使用具有 2 个以上参数的准备语句删除记录

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:18 26 4
gpt4 key购买 nike

我正在使用准备好的语句对我的数据库执行一些操作。我有如下表格:

+--------------------------------------------------------+
|Field | Type | Size | Key | Text |
+--------------------------------------------------------+
|X1DEL | Char | 1 | 2 | Status |
|X1CMP | Zoned | 3 | 1 | Company No. |
|X1ORD | Zoned | 9 | 2 | Order Number |
|X1TYPE | Char | 1 | 1 | Transaction Type |
|X1ORDT | Zoned | 8 | 0 | Order Date |
|X1CUST | Char | 10 | 0 | Customer Number |
|X1PO | Char | 20 | 0 | PO Number |
|X1OTOT | Zoned | 11 | 2 | Order Total |
+--------------------------------------------------------+

我正在执行一个删除查询,作为 delete from my_table where field=? 用于单个参数。我已经为 2 个参数创建了查询作为 delete from my_table where field=?并输入=?现在我又想执行 4 到 5 个参数的查询。我正在编写一个查询作为 delete from my_table where field=?,type=?,size=?和键=?我已经尝试过这个查询,但没有得到结果。

最佳答案

根据设计,use prepared statements使用任意数量的参数构建查询。

final String sql = "delete from my_table where field=? and type=? and size=? and key=?";

如果您的参数在集合中,您可以使用链接教程的建议和“通过使用 for 循环或 while 循环来设置输入参数的值,使编码更容易” 。根据您提供的参数的类型 和数量,您需要为每个参数调用适当的.set 方法。

 //assuming con (DB connection) is properly setup
final PreparedStatment statement = con.prepareStatement(sql);
statement.setString(1, "X1DEL");
statement.setString(2, "CHAR");
statement.setInt(3,1);
statement.setInt(4, 2);

//... etc

您必须记住,准备好的语句是基于 1 的索引。

关于java - 使用具有 2 个以上参数的准备语句删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19251311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com