star_kai 2017-06-21 09:06 采纳率: 50%
浏览 1617
已采纳

关于qt5数据库连接错误的问题

main函数中的代码如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

db.setDatabaseName("fyk.db");

bool op = db.open();
qDebug() << db.tables();
QSqlQuery query;


bool success = query.exec("CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(20)");
if (success)
{
    qDebug() << QObject::tr("success");
} 
else
{
    qDebug() << QObject:: tr("fail");
    qDebug() << query.lastError().type();
    QMessageBox::critical(0, QObject::tr("Database Error"),
        query.lastError().text());
}

运行后提示的错误是table student already exists unable to execute statement,本人刚接触qt,困扰了很久,求大神解答
  • 写回答

1条回答 默认 最新

  • 软件攻城小狮 2017-06-21 13:15
    关注

    第一次运行时,student表已创建。此后再运行,会报sql错误,因为不可能再创建一个同名的表。可以使用 if not exists 来解决

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!