将“”放入SQL中的java PreparedStatement
我正在使用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)'
共 (0) 个答案