I am using PreparedStatement to make alterations to my database but I am getting an SQL error because it is adding ' ' to the SQL expression. How can prevent it from putting it?
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;
}
}
}
}
This is the expression that PreparedStatement executes
ALTER TABLE 'saft_2017_2_111_nc_transactions' ADD COLUMN 'testeRegex' 'varchar(250)'