有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将“”放入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) 个答案