当前位置: 首页 > 知识库问答 >
问题:

Java-字符串作为新的sql表名[重复]

弓方伟
2023-03-14

因此,我试图创建一个新的SQLite表,其名称由我的应用程序中创建的字符串设置。字符串是从int userID和curret date(到字符串)创建的

LocalDate date = LocalDate.now();

public void save()    {
    String db;
    db = String.valueOf("uid" + userID + date.toString());
    try {
        PreparedStatement pst = conn.prepareStatement("CREATE TABLE ?(name TEXT, kcal FLOAT, protein FLOAT, carbs FLOAT, fat FLOAT)");
        pst.setString(1, db);
        pst.executeUpdate();
    } catch (SQLException e)  {
        e.printStackTrace();
    }
}

和错误指向我的PreparedStatement,我敢打赌‘?’有问题,但如何用其他方法呢?

共有1个答案

闻人仲渊
2023-03-14

您可以通过简单的字符串连接来实现这一点。

String query = "CREATE TABLE " + db + " (name TEXT, kcal FLOAT, protein FLOAT, carbs FLOAT, fat FLOAT)";
PreparedStatement pst = conn.prepareStatement(query);

我相信PreparedStatement中的问号是针对参数而不是表名。

 类似资料:
  • 表名称: blist 任何可以将abcd_086、087等替换为xyz_086、087等的SQL查询。需要用xyz替换serial_no列的前4个字符。请帮助!!!

  • 问题内容: 我将数字保存到MySQL数据库。由于某些其他情况,我无法制作它们。 排序时将其作为字符而不是数字。 在数据库中我有 在我的页面上,它显示如下排序列表: 如何使它按数字升序显示? 问题答案: 如果可能,则无论如何仅存储数字,应将列的数据类型更改为数字。 如果您无法执行此操作,则将列值 强制转换 为 或 隐式地 使用例如数学运算来强制转换为数字 BTW MySQL将字符串从左到右转换。例子

  • 我有以下小消息: 我尝试了这个错误:

  • 因此,我有一个项目,其中有一个字符串列表: 我需要将它们转换成一个字符串,每个值用换行符分隔,如下所示: 我发现一个解决方案在python列表换行分隔值,但它使用这样的列表: 每当我跑步时: 它返回,与该问题中的所有其他答案一样。

  • 我试图确切地理解Java字符串是如何不可变的。我明白这应该是一个简单的概念,但在阅读了几个在线网页后,我仍然不太明白。 我不明白Java字符串是如何“不可变”的。我目前有以下代码: 我的输出如下: 如果字符串应该是不可变的,为什么会发生这种情况?为什么我能给字符串重新赋值?

  • 我对任何编程都非常陌生,所以请原谅我的无知,因为我不知道如何做一些看起来很简单的事情。 我所要做的就是获取任何字符串数组(称之为名称),比如: 并将其从列表中删除,并将其转换为字符串: 我似乎无法理解这一点,也找不到类似的帖子。