问题描述
我正在使用 PreparedStatement 更改我的数据库,但我收到 sql 错误,因为它向 sql 表达式添加了“ ”。怎么能不放呢?
JdbcConnection connection = (JdbcConnection) database.getConnection();
DatabaseMetaData Metadata;
Metadata = connection.getMetaData();
String[] types = {"TABLE"};
ResultSet rs = Metadata.getTables(connection.getCatalog(),null,"%",types);
PreparedStatement s = connection.prepareStatement(sqlStatement);
//if the user chose to use a suffix
if (this.getSuffix() != null) {
while (rs.next()) {
String tableName = rs.getString(3);
if (tableName.endsWith(this.getSuffix())) {
tablesFound = true;
if (!checkColumnsExists(s,tableName)) {
s.setString(1,tableName);
s.setString(2,this.getColumnName());
s.setString(3,this.getColumnType());
if(this.after!=null){
s.setString(4,this.after);
if(this.defaultValue!=null){
s.setString(5,this.defaultValue);
}
}
else{
if(this.defaultValue!=null){
s.setString(4,this.defaultValue);
}
}
s.executeUpdate();
columnsAdded = true;
}
}
}
}
这是 PreparedStatement 执行的表达式
ALTER TABLE 'saft_2017_2_111_nc_transactions' ADD COLUMN 'testeRegex' 'varchar(250)'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)