1. 程式人生 > 實用技巧 >VS2019 sqlite3詳細過程

VS2019 sqlite3詳細過程

步驟:

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 }