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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?