Vampire_Acen
2020-09-29 19:19
采纳率: 0%
浏览 15

qt mysql不能直接用变量做表名怎么解决

QString select_by_date = "drop table "+data1+"";

QSqlQuery sql_query;

sql_query.prepare(select_by_date);

sql_query.exec(select_by_date);

qDebug结果如图:

直接写表名可以删除但是把表名写成变量就不行了,求解决办法

  • 好问题 提建议
  • 收藏

6条回答 默认 最新

  • 浴火_凤凰 2020-09-29 19:34

    变量应该可以的 你打印出来变量拼接的SQL语句

    然后粘贴到数据库管理工具去执行试试

    评论
    解决 无用
    打赏 举报
  • Vampire_Acen 2020-09-29 19:43

    我的数据库名是2020-09-29是不是数据库命名的问题


    评论
    解决 无用
    打赏 举报
  • 浴火_凤凰 2020-09-29 20:02

    我的意思是 使用程序输出 变量拼接的 SQL

    如果解析后的结果 在数据库管理工具直接执行没问题 在代码里 就不会有问题

    评论
    解决 无用
    打赏 举报
  • 浴火_凤凰 2020-09-29 20:03

    你把数据库名字 使用 引号括起来 试试

    评论
    解决 无用
    打赏 举报
  • Vampire_Acen 2020-09-29 20:07

    我找到问题了 我数据库的名字有问题 我换成字母开头后面数字就可以了 还不能有-号

    评论
    解决 无用
    打赏 举报
  • 浴火_凤凰 2020-09-29 20:11

    嗯 果然是 特殊符号的锅。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题