star_kai
star_kai
采纳率50%
2017-06-21 09:06

关于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条回答

  • yuy1024 软件攻城小狮 4年前

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

    点赞 评论 复制链接分享

相关推荐