简体   繁体   中英

How to write Sqlite DataBase in Qt

I am using this code for creating SQlite Database in Qt. Now I have 2 questions: First how can I add new record in table , and second how can I check the table exist?

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;
}

Should be able to work:

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
}

Not sure how to check if table exists but to create a table if it does not already exist you can do:

bool created = sqlQuery.exec("CREATE TABLE IF NOT EXISTS my_table(<column info>);");

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM