步驟:
1.新建MFC APPLICATION ,編輯框等等;
2.將SQlite3中的文件添加進文件夾,並將cppsqlite3U.h,sqlite3.h添加頭文件列表中,將cppsqlite3U.cpp放入cpp文件列表中;
3.在stdafx.h中包含cppsqlite3U.h,sqlite3.h兩個頭文件,在cpp中就可以新建數據庫。
注:在VS2019中新建MFC后CppSQLite3U.cpp 包含pch.h, CppSQLite3U.h中包含sqlite.h,
遇到錯誤提示:This function or variable may be unsafe時,在“屬性”-“C/C++”-“預處理器”-“預處理器定義”中添加_CRT_SECURE_NO_WARNINGS即可。
遇到錯誤C4996,參考上次篇文章:https://www.cnblogs.com/Grouth-Diary/p/13476770.html
4.代碼部分:
頭文件定義變量:
CppSQLite3DB m_db;
創建db文件、表格:
1 CString strDBname, strsql; 2 strDBname = _T("EquipInfo.db"); 3 try 4 { 5 m_db.open(strDBname); 6 if(!m_db.tableExists(_T("Info"))) 7 { 8 m_db.execDML(_T("CREATE TABLE Info(ComName nvarchar(100),") 9 _T("EquipVesion nvarchar(100),") 10 _T("MonitorRetion nvarchar(100),") 11 _T("ModuleSize nvarchar(100),") 12 _T("ModuleType nvarchar(100),") 13 _T("CammeraModel nvarchar(100),") 14 _T("CammeraRetion nvarchar(100),") 15 _T("ExpostionTime nvarchar(100),") 16 _T("ElectricCurrent nvarchar(100),") 17 _T("ISOorGain nvarchar(100)") 18 _T(");")); 19 } 20 m_db.execDML(_T("BEGIN")); 21 strsql = _T("INSERT INTO Info VALUES('") 22 +comName+_T("','") 23 +equVersion+_T("','") 24 +moniRetion+_T("','") 25 +moduleSize+_T("','") 26 +moduleType+_T("','") 27 +camerModel+_T("','") 28 +camerRetion+_T("','") 29 +exposTime+_T("','") 30 +elecCurrent+_T("','") 31 +isoOrgain+_T("');"); 32 m_db.execDML(strsql); 33 m_db.execDML(_T("COMMIT")); 34 m_db.close(); 35 } 36 catch (CppSQLite3Exception ex) 37 { 38 AfxMessageBox(ex.errorMessage()); 39 }