当前位置: 首页 > 面试题库 >

无法使用prepareStatement创建表

百里伟
2023-03-14
问题内容

我无法在数据库(mySQL)中创建表,使用preparedStatement并尝试使用以下命令输入未来表的名称preparedStatement.setInteger()

static String queryCreateTable = "CREATE TABLE ?" +
                                 "(ID INTEGER not NULL ," +
                                 "BRAND VARCHAR(40)," +
                                 "MODEL VARCHAR(40)," +
                                 "YEAR INTEGER not NULL," +
                                 "NOVELTY BINARY," +
                                 "PRIMARY KEY ( ID ))";

然后,在用户输入表名称之后,我尝试构造并调用该语句:

newNameOfTable = JOptionPane.showInputDialog("Connected for saving data. " +
                                "Input name of new table:");

                        pStatement = connection.prepareStatement(queryCreateTable);
                        pStatement.setString(1, newNameOfTable);
                        pStatement.executeUpdate();

如果我尝试不输入名称就执行它(如常量字符串:“ CREATE TABLE newtable(…)”,但我需要输入名称),它将很好地工作。


问题答案:

阅读表名后,您将必须格式化字符串,例如:

static String queryCreateTable = "CREATE TABLE {0}" +
                                 "(ID INTEGER not NULL ," +
                                 "BRAND VARCHAR(40)," +
                                 "MODEL VARCHAR(40)," +
                                 "YEAR INTEGER not NULL," +
                                 "NOVELTY BINARY," +
                                 "PRIMARY KEY ( ID ))";

然后创建像:

newNameOfTable = JOptionPane.showInputDialog("Connected for saving data. " +
                            "Input name of new table:");

statement = connection.createStatement();
statement.execute(MessageFormat.format(queryCreateTable, newNameOfTable));


 类似资料:
  • 运行时收到此错误。

  • 我正在尝试使用JPA生成表。但我不能创造它。代码中没有错误,但似乎存在配置错误。但我找不到它,我尝试了很多配置但没有发生。多谢. 这是: } pom.xml

  • 问题内容: 我正在使用s批查询我的数据库。我现在已经做了一些研究,我想重写我的应用程序以代替使用,但是我很难弄清楚如何向批处理中添加查询。 这就是我现在正在做的: type的类成员在哪里? 我想做的是使用的方法设置一些动态数据,然后将其添加到批处理中。 不幸的是,我不完全了解它的工作原理,以及如何在批处理中使用特定的sql,或者为我拥有的每个sql 创建一个新的sql,然后将它们全部加入一个批处理

  • 我正在使用Eloquent和SlimPHP以及Capsule作为DB“Facade”。 现在我只是支持MySql,因为我需要动态创建表,所以我试图构建两个查询并运行它们。 做的时候 要查看查询是如何生成的,它们如下所示: 字符串(351)“如果不存在,则创建表`responses\\u 44`(`id`int(11)NOT NULL AUTO\\u INCREMENT,`field\\u 20`v

  • 我是Spring Data的新手,并试图通过关注这篇关于SO和其他一些教程的帖子来解决这个问题,但没有取得太大成功。 我正在尝试在 2 个表之间使用 Spring Data JPA 进行简单的连接。数据库中的表称为: * user_vehicle - user_vehicle表中数据库中的当前数据: ID|vehicle_ID|user_ID 1|1|1 2|2|1 这是我尝试过但无法让它工作的代

  • 您好,我收到以下错误: 这是我的例子ata.kt 我的界面改装 addsUser的函数