亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Qt創(chuàng)建SQlite數(shù)據(jù)庫(kù)的示例代碼

 更新時(shí)間:2022年05月19日 09:11:16   作者:程序員朱帥  
本文主要介紹了Qt創(chuàng)建SQlite數(shù)據(jù)庫(kù)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Qt 創(chuàng)建 SQlite數(shù)據(jù)庫(kù)

void Widget::initDB()
{
    // 創(chuàng)建并打開數(shù)據(jù)庫(kù)
    QSqlDatabase database;
    database = QSqlDatabase::addDatabase("QSQLITE");
//    qDebug() << QApplication::applicationDirPath(); // 獲取應(yīng)用程序當(dāng)前目錄

    database.setDatabaseName("test.sqlite3");
    if(!database.open())
    {
        qDebug() << "Error: Failed to connect database." << database.lastError();
    }
    else
    {
        qDebug() << "Succeed to connect database.";
    }

    // 創(chuàng)建表格
    QSqlQuery sql_query = database.exec("DROP TABLE student");
    // 先清空一下表,可按需添加此句
//    sql_query.exec("DROP TABLE student");
    // 創(chuàng)建表格student
    if(!sql_query.exec("create table student(UserId int primary key, UserName text, PassWord text)"))
    {
        qDebug() << "Error: Fail to create table." << sql_query.lastError();
    }
    else
    {
        qDebug() << "Table created!";
    }
    // 填充表
    if(!sql_query.exec("INSERT INTO student VALUES(1, 'AppleCai', '23')"))
    {
        qDebug() << "Error: Fail to create table." << sql_query.lastError();
    }
    else
    {
        qDebug() << "add one created!";
    }
    // 批量填充表
    QStringList names;
    names << "小A" << "小B" << "小C" << "小D" << "小E" << "小F" << "小G" << "小H" << "小I";

    QStringList password;
    password << "12" << "23" << "34" << "45" << "56" << "67" << "78" << "89" << "90";
    // 綁定關(guān)鍵字后才能進(jìn)行操作
    sql_query.prepare("INSERT INTO student (UserId, UserName, PassWord) "
                      "VALUES (:UserId, :UserName, :PassWord)");
    qint8 i = 0;
    foreach (QString name, names) // 從names表里獲取每個(gè)名字
    {
        sql_query.bindValue(":UserId", i+2); // 向綁定值里加入名字
        sql_query.bindValue(":UserName", name); // 成績(jī)
        sql_query.bindValue(":PassWord", password[i]); // 班級(jí)
        if(!sql_query.exec())
        {
            qDebug() << "Error: Fail." << sql_query.lastError();
        }
        i++;
    }
    // 讀取sqlite
    studentInfo tmp;
    QVector<studentInfo> infoVect; // 數(shù)據(jù)庫(kù)緩存
    sql_query.exec("SELECT * FROM student WHERE UserId >= 5 AND UserId <= 9;");
    while (sql_query.next())
    {
        tmp.UserId = sql_query.value(0).toInt();
        tmp.UserName = sql_query.value(1).toString();
        tmp.Password = sql_query.value(2).toString();
        qDebug() << tmp.UserId << tmp.UserName << tmp.Password;
        infoVect.push_back(tmp);
    }
    qDebug("done");

    // 更改表中數(shù)據(jù)
    sql_query.prepare("UPDATE student SET PassWord = 'admin' WHERE UserName = 'AppleCai'");
    if(!sql_query.exec())
    {
        qDebug() << "Error: Fail." << sql_query.lastError();
    }

    // 刪除表中數(shù)據(jù)
    sql_query.prepare("DELETE FROM student WHERE UserName = '小H'");
    if(!sql_query.exec())
    {
        qDebug() << "Error: Fail." << sql_query.lastError();
    }
}

在這里插入圖片描述

以下是個(gè)人代碼備份

這個(gè)代碼是在qt寫的,包含了數(shù)據(jù)庫(kù)的創(chuàng)建和寫入,但是我在項(xiàng)目準(zhǔn)備直接在dataGrip把數(shù)據(jù)一鍵導(dǎo)入創(chuàng)建好數(shù)據(jù)庫(kù)之后再用qt里面的sql語(yǔ)句讀,所以就不需要這一部分了

#include "sqlitedatabase.h"

SqliteDatabase::SqliteDatabase()
{
    qDebug() << "hhh";
//    initPickNameDB();
}

void SqliteDatabase::initPickNameDB()
{
    // 創(chuàng)建并打開數(shù)據(jù)庫(kù)
    QSqlDatabase database;
    database = QSqlDatabase::addDatabase("QSQLITE");
//    qDebug() << QApplication::applicationDirPath();

    database.setDatabaseName(QApplication::applicationDirPath() + "/CONFIG/" + "PickNameDB.sqlite3");
    if(!database.open())
    {
        qDebug() << "Error: Failed to connect database." << database.lastError();
    }
    else
    {
        qDebug() << "Succeed to connect database.";
    }

    // 創(chuàng)建表格 先清空一下表
    QSqlQuery sql_query = database.exec("DROP TABLE department");
    sql_query = database.exec("DROP TABLE person");

    if(!sql_query.exec("create table department (Id int primary key not null, "
                       "DeptName vchar(50) not null )"))
    {
        qDebug() << "Error: Fail to create department table." << sql_query.lastError();
    }
    else
    {
        qDebug() << "Department table created!";
    }
    if(!sql_query.exec("create table person (Id int primary key not null , "
                       "DeptID integer not null , "
                       "PerName vchar(50) not null, "
                       "foreign key(DeptID) references department (Id))"))
    {
        qDebug() << "Error: Fail to create person table." << sql_query.lastError();
    }
    // 填充表
//    sql_query.exec("insert into department (id, name) values (1, '辦領(lǐng)導(dǎo)')");
//    sql_query.exec("insert into department (id, name) values (2, '綜合處')");
//    sql_query.exec("insert into department (id, name) values (3, '政策法規(guī)處')");
//    sql_query.exec("insert into department (id, name) values (4, '機(jī)構(gòu)改革處')");
//    sql_query.exec("insert into department (id, name) values (5, '黨群政法行政機(jī)構(gòu)編制管理處')");
//    sql_query.exec("insert into department (id, name) values (6, '政府行政機(jī)構(gòu)編制管理處')");
//    sql_query.exec("insert into department (id, name) values (7, '市縣行政機(jī)構(gòu)編制管理處')");
//    sql_query.exec("insert into department (id, name) values (8, '事業(yè)機(jī)構(gòu)編制管理處')");
//    sql_query.exec("insert into department (id, name) values (9, '事業(yè)單位登記管理處')");
//    sql_query.exec("insert into department (id, name) values (10, '機(jī)構(gòu)編制監(jiān)督檢查處')");
//    sql_query.exec("insert into department (id, name) values (11, '人事處')");
//    sql_query.exec("insert into department (id, name) values (12, '機(jī)關(guān)黨委')");
//    sql_query.exec("insert into department (id, name) values (13, '省機(jī)構(gòu)編制電子政務(wù)中心')");
//    sql_query.exec("insert into department (id, name) values (14, '省機(jī)構(gòu)編制研究中心')");

    // 批量填充表
    QStringList deptNames;
    deptNames << "辦領(lǐng)導(dǎo)" << "綜合處" << "政策法規(guī)處" << "機(jī)構(gòu)改革處"
              << "黨群政法行政機(jī)構(gòu)編制管理處" << "政府行政機(jī)構(gòu)編制管理處"
              << "市縣行政機(jī)構(gòu)編制管理處" << "事業(yè)機(jī)構(gòu)編制管理處" << "事業(yè)單位登記管理處"
              << "機(jī)構(gòu)編制監(jiān)督檢查處" << "人事處" << "機(jī)關(guān)黨委"
              << "省機(jī)構(gòu)編制電子政務(wù)中心" << "省機(jī)構(gòu)編制研究中心";

    // 綁定關(guān)鍵字后才能進(jìn)行操作
    sql_query.prepare("INSERT INTO department (Id, DeptName) "
                      "VALUES (:Id, :DeptName)");
    qint8 i = 0;
    foreach (QString deptName, deptNames)
    {
        sql_query.bindValue(":Id", i + 1);
        sql_query.bindValue(":DeptName", deptName);
        if(!sql_query.exec())
        {
            qDebug() << "Error: Fail." << sql_query.lastError();
        }
        i++;
    }
    // 讀取sqlite
    department dept;
    QVector<department> tmpDept; // 數(shù)據(jù)庫(kù)緩存
    sql_query.exec("SELECT * FROM ");
}

到此這篇關(guān)于Qt創(chuàng)建SQlite數(shù)據(jù)庫(kù)的示例代碼的文章就介紹到這了,更多相關(guān)Qt創(chuàng)建SQlite內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論