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 }