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

关于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 来解决

    点赞 打赏 评论

相关推荐