版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第Qt創(chuàng)建SQlite數(shù)據(jù)庫的示例代碼database=QSqlDatabase::addDatabase("QSQLITE");
//qDebug()QApplication::applicationDirPath();//獲取應用程序當前目錄
database.setDatabaseName("test.sqlite3");
if(!database.open())
qDebug()"Error:Failedtoconnectdatabase."database.lastError();
else
qDebug()"Succeedtoconnectdatabase.";
//創(chuàng)建表格
QSqlQuerysql_query=database.exec("DROPTABLEstudent");
//先清空一下表,可按需添加此句
//sql_query.exec("DROPTABLEstudent");
//創(chuàng)建表格student
if(!sql_query.exec("createtablestudent(UserIdintprimarykey,UserNametext,PassWordtext)"))
qDebug()"Error:Failtocreatetable."sql_query.lastError();
else
qDebug()"Tablecreated!";
//填充表
if(!sql_query.exec("INSERTINTOstudentVALUES(1,'AppleCai','23')"))
qDebug()"Error:Failtocreatetable."sql_query.lastError();
else
qDebug()"addonecreated!";
//批量填充表
QStringListnames;
names"小A""小B""小C""小D""小E""小F""小G""小H""小I";
QStringListpassword;
password"12""23""34""45""56""67""78""89""90";
//綁定關鍵字后才能進行操作
sql_query.prepare("INSERTINTOstudent(UserId,UserName,PassWord)"
"VALUES(:UserId,:UserName,:PassWord)");
qint8i=0;
foreach(QStringname,names)//從names表里獲取每個名字
sql_query.bindValue(":UserId",i+2);//向綁定值里加入名字
sql_query.bindValue(":UserName",name);//成績
sql_query.bindValue(":PassWord",password[i]);//班級
if(!sql_query.exec())
qDebug()"Error:Fail."sql_query.lastError();
i++;
//讀取sqlite
studentInfotmp;
QVectorstudentInfoinfoVect;//數(shù)據(jù)庫緩存
sql_query.exec("SELECT*FROMstudentWHEREUserId=5ANDUserId");
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.UserIdtmp.UserNametmp.Password;
infoVect.push_back(tmp);
qDebug("done");
//更改表中數(shù)據(jù)
sql_query.prepare("UPDATEstudentSETPassWord='admin'WHEREUserName='AppleCai'");
if(!sql_query.exec())
qDebug()"Error:Fail."sql_query.lastError();
//刪除表中數(shù)據(jù)
sql_query.prepare("DELETEFROMstudentWHEREUserName='小H'");
if(!sql_query.exec())
qDebug()"Error:Fail."sql_query.lastError();
以下是個人代碼備份
這個代碼是在qt寫的,包含了數(shù)據(jù)庫的創(chuàng)建和寫入,但是我在項目準備直接在dataGrip把數(shù)據(jù)一鍵導入創(chuàng)建好數(shù)據(jù)庫之后再用qt里面的sql語句讀,所以就不需要這一部分了
#include"sqlitedatabase.h"
SqliteDatabase::SqliteDatabase()
qDebug()"hhh";
//initPickNameDB();
voidSqliteDatabase::initPickNameDB()
//創(chuàng)建并打開數(shù)據(jù)庫
QSqlDatabasedatabase;
database=QSqlDatabase::addDatabase("QSQLITE");
//qDebug()QApplication::applicationDirPath();
database.setDatabaseName(QApplication::applicationDirPath()+"/CONFIG/"+"PickNameDB.sqlite3");
if(!database.open())
qDebug()"Error:Failedtoconnectdatabase."database.lastError();
else
qDebug()"Succeedtoconnectdatabase.";
//創(chuàng)建表格先清空一下表
QSqlQuerysql_query=database.exec("DROPTABLEdepartment");
sql_query=database.exec("DROPTABLEperson");
if(!sql_query.exec("createtabledepartment(Idintprimarykeynotnull,"
"DeptNamevchar(50)notnull)"))
qDebug()"Error:Failtocreatedepartmenttable."sql_query.lastError();
else
qDebug()"Departmenttablecreated!";
if(!sql_query.exec("createtableperson(Idintprimarykeynotnull,"
"DeptIDintegernotnull,"
"PerNamevchar(50)notnull,"
"foreignkey(DeptID)referencesdepartment(Id))"))
qDebug()"Error:Failtocreatepersontable."sql_query.lastError();
//填充表
//sql_query.exec("insertintodepartment(id,name)values(1,'辦領導')");
//sql_query.exec("insertintodepartment(id,name)values(2,'綜合處')");
//sql_query.exec("insertintodepartment(id,name)values(3,'政策法規(guī)處')");
//sql_query.exec("insertintodepartment(id,name)values(4,'機構改革處')");
//sql_query.exec("insertintodepartment(id,name)values(5,'黨群政法行政機構編制管理處')");
//sql_query.exec("insertintodepartment(id,name)values(6,'政府行政機構編制管理處')");
//sql_query.exec("insertintodepartment(id,name)values(7,'市縣行政機構編制管理處')");
//sql_query.exec("insertintodepartment(id,name)values(8,'事業(yè)機構編制管理處')");
//sql_query.exec("insertintodepartment(id,name)values(9,'事業(yè)單位登記管理處')");
//sql_query.exec("insertintodepartment(id,name)values(10,'機構編制監(jiān)督檢查處')");
//sql_query.exec("insertintodepartment(id,name)values(11,'人事處')");
//sql_query.exec("insertintodepartment(id,name)values(12,'機關黨委')");
//sql_query.exec("insertintodepartment(id,name)values(13,'省機構編制電子政務中心')");
//sql_query.exec("insertintodepartment(id,name)values(14,'省機構編制研究中心')");
//批量填充表
QStringListdeptNames;
deptNames"辦領導""綜合處""政策法規(guī)處""機構改革處"
"黨群政法行政機構編制管理處""政府行政機構編制管理處"
"市縣行政機構編制管理處""事業(yè)機構編制管理處""事業(yè)單位登記管理處"
"機構編制監(jiān)督檢查處""人事處""機關黨委"
"省機構編制電子政務中心""省機構編制研究中心";
//綁定關鍵字后才能進行操作
sql_query.prepare("INSERTINTOdepartment(Id,DeptName)"
"VALUES(:Id,:DeptName)");
qint8i=0;
foreach(QStringdeptName,deptNames)
sql_query.bi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)業(yè)文化遺產(chǎn)活化利用指南
- 煙草制品經(jīng)營風險防控管理手冊
- 2026青龍湖(河北)產(chǎn)業(yè)發(fā)展集團有限公司招聘15人備考題庫及一套參考答案詳解
- 2026年原型設計工具高階應用培訓
- 計算機行業(yè)年度策略:AI應用加快全球格局重塑中
- 職業(yè)健康風險評估與員工職業(yè)發(fā)展動態(tài)調(diào)整機制
- 職業(yè)健康促進與職業(yè)健康效益優(yōu)化
- 職業(yè)健康與心理健康的整合干預策略-2
- 陽江2025年廣東陽江陽西縣新墟鎮(zhèn)招聘合同制禁毒工作人員筆試歷年參考題庫附帶答案詳解
- 邢臺2025年河北邢臺市襄都區(qū)招聘中小學幼兒園教師75人筆試歷年參考題庫附帶答案詳解
- 云南省玉溪市2025-2026學年八年級上學期1月期末物理試題(原卷版+解析版)
- 2026年哈爾濱通河縣第一批公益性崗位招聘62人考試參考試題及答案解析
- 就業(yè)協(xié)議書解約函模板
- 研發(fā)部門員工加班管理細則
- 鋼結構橋梁施工監(jiān)測方案
- 2025人教pep版三年級英語上冊字帖
- 《5G移動通信》課件-項目六 5G網(wǎng)絡中的人工智能技術
- 2025江蘇蘇州高新區(qū)獅山商務創(chuàng)新區(qū)下屬國有企業(yè)招聘9人筆試題庫及答案詳解
- 教培機構年終工作總結
- 2025年秋季青島版三年級數(shù)學上冊求比一個數(shù)的幾倍多(少)幾的數(shù)教學課件
- 人才技術入股公司股權分配協(xié)議書
評論
0/150
提交評論