PreparedStatement 将 ' ' 放入 SQL

问题描述

我正在使用 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 (将#修改为@)