for(int i=1;i<=10;i++) { int j=2020+i; recordSet.executeQuery("select * from Workflow_FieldYear where yearid=?",j); if (!recordSet.next()){ recordSet.executeUpdate("insert into Workflow_FieldYear(yearId,yearName) values(?,?)",String.valueOf(j),String.valueOf(j)); } }多个变量的情况,如何增加问号
时间: 2024-01-20 10:01:53 浏览: 163
set rs=server.CreateObject(adodb.recordset) 的中文详细说明
在执行SQL语句时,如果需要传入多个参数,可以在SQL语句中使用问号占位符,然后使用PreparedStatement对象的set方法为每个问号设置参数值。例如,在上面的代码中,如果有多个变量需要作为参数传入SQL语句,可以将SQL语句中的问号个数增加,并在执行SQL语句之前使用set方法为每个问号设置参数值。示例代码如下:
```
String sql = "insert into Workflow_FieldYear(yearId,yearName,variable1,variable2,variable3) values(?,?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
for(int i=1;i<=10;i++) {
int j=2020+i;
ps.setString(1, String.valueOf(j));
ps.setString(2, String.valueOf(j));
ps.setString(3, variable1);
ps.setString(4, variable2);
ps.setString(5, variable3);
ps.executeUpdate();
}
```
在上面的示例代码中,SQL语句中有5个问号,分别对应5个参数。在每次循环中,使用set方法为每个问号设置参数值,然后执行SQL语句。
阅读全文