如何在Qt中编写Sqlite DataBase

时间:2015-12-03 05:56:35

标签: c++ qt sqlite

我正在使用此代码在Qt中创建SQlite数据库。 现在我有两个问题:首先,我如何在表格中添加新记录,以及如何检查表格是否存在?

bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("SQLITE");
    db.setHostName("Server");
    db.setDatabaseName("Message.DB");
    if (!db.open()) {
        QMessageBox::critical(0, QObject::tr("Database Error"),
                db.lastError().text());
        return false;
}

2 个答案:

答案 0 :(得分:3)

应该可以工作:

ClassA.getDeclaredFields()

不确定如何检查表是否存在但是如果表尚不存在则创建表可以执行以下操作:

QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName("Message.DB");
if(database.open() == false) {
    // ... <- Error handling
    return false;
}

QSqlQuery sqlQuery(database);
bool inserted = sqlQuery.exec("INSERT INTO my_table (col1, col2) VALUES (\'one\', \'two\')");
if(inserted == false) {
    // ... <- Error handling
}

答案 1 :(得分:0)

您还应创建将创建非空数据库的查询并使用正确的变量名称(在您的代码中首先使用dbConnection,然后再使用db。