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

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

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

报告相同问题?