String
您要修复的第一件事是,当您想更改它时,请不要使用实例。String
实例是不可变的,当您修改已经创建的时String
,会创建新的修改实例并且它不是免费的。您应该为此使用StringBuilder
具有允许修改它而无需创建新实例的实例方法。我建议您StringBuilder
在修改时始终使用String
. 其次,你打电话con.prepareStatement(sql)
,然后你修改它的 sql 字段。这不好不是吗?因此,仅在使用 String 之后添加它。
String sql =
"CREATE TABLE if not exists itemset (?";
for(int j=1; j < ccolumns; j++) {
sql += ",?";
}
sql += ")";
System.out.println(sql);
up1 = con.prepareStatement(sql);
for(int j=1; j < ccolumns+1; j++) {
System.out.println(j);
up1.setString(j, "item"+j+" TINYINT(10)");
}
up1.executeQuery();
你不能prepareStatement
用给定的调用String
然后修改它。
但是更清洁和更快的尝试这样做
StringBuilder sqlStatement = new StringBuilder(
"CREATE TABLE if not exists itemset (?");
for(int j=1; j < ccolumns; j++) {
sqlStatement.append(",?");
}
sqlStatement.append(")");
up1 = con.prepareStatement(sqlStatement.toString());
for(int j=1; j < ccolumns+1; j++) {
System.out.println(j);
up1.setString(j, "item"+j+" TINYINT(10)");
}
up1.executeQuery();