VC++操作SQLite简单实例
2023-06-13 09:15:39 时间
对于很多程序员来说,SQLite并不陌生。SQLite是一款主要用于嵌入式的开源数据库,可集成在自己的桌面程序中,也可替代Access作为后台数据库。SQLite支持多数SQL92标准,例如:索引、限制、触发和查看支持,支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,支持事务。以下是一些SQLite的简单使用。
//建立数据库 C:\sqlite-3_6_11>sqlite3.exedbname.db
建立数据库的时候sqlite3.exe后面跟数据库文件名
//创建数据表 sqlite>createtableusers(useridvarchar(20)PRIMARYKEY, ...>ageint, ...>birthdaydatetime); //添加记录 insertintousersvalues("wang",20,"1989-5-4"); insertintousersvalues("li",22,"1987-11-16"); //查询记录 select*fromusersorderbybirthday; //删除记录 deletefromuserswhereuserid="wang"; //退出 sqlitesqlite>.exit
SQLite数据库的数据结构是存贮在"sqlite_master"表中,具体命令可以输入.help查看或参考SQLite帮助文档。
在VC下使用SQLite的简单例子:
#include"../sqlite3_lib/sqlite3.h"//请以你的地址为准 #pragmacomment(lib,"../sqlite3_lib/sqlite3.lib")//请以你的地址为准 staticint_sql_callback(void*notused,intargc,char**argv,char**szColName) { inti; for(i=0;i<argc;i++) { printf("%s=%s\n",szColName[i],argv[i]==0?"NUL":argv[i]); } return0; } intmain(intargc,char*argv[]) { constchar*sSQL1="createtableusers(useridvarchar(20)PRIMARYKEY,ageint,birthdaydatetime);"; constchar*sSQL2="insertintousersvalues("wang",20,"1989-5-4");"; constchar*sSQL3="select*fromusers;"; sqlite3*db=0; char*pErrMsg=0; intret=0; //连接数据库 ret=sqlite3_open("./test.db",&db); if(ret!=SQLITE_OK) { fprintf(stderr,"不能打开数据库:%s",sqlite3_errmsg(db)); return(1); } printf("数据库连接成功!\n"); //执行SQL建立数据库 sqlite3_exec(db,sSQL1,0,0,&pErrMsg); if(ret!=SQLITE_OK) { fprintf(stderr,"SQLerror:%s\n",pErrMsg); sqlite3_free(pErrMsg); } //插入记录 sqlite3_exec(db,sSQL2,0,0,&pErrMsg); //查询数据表 sqlite3_exec(db,sSQL3,_sql_callback,0,&pErrMsg); //关闭数据库 sqlite3_close(db); db=0; return0; }
相关文章
- UE5中 uDraper 插件无法编译 C++ 工程的修复
- C#面试题及答案_c++面试题库
- EasyC++20,C++中的自增与自减
- C++中this指针的理解和用法
- Windows VC++路径标准化-PathCchCanonicalize
- VsCode配置c/c++环境
- c++容器类_类的容器
- C++stl库_c++库
- C++基本概念_c语言 c++区别
- C++ 和 Java 中的默认虚拟行为有何不同及其异常处理的比较
- C++结构体和类的区别_c++有结构体吗
- C/C++ 静态编译SQLITE数据库API
- C/C++ 实现内存特征码搜索
- c++使用icu国际化(i18n)
- C++ 多线程 —— 锁
- 【C++】哈希
- C++ 下 Halcon 与 OpenCV 图像的转换
- c++基础篇之C++ 模板
- 迁移升级:从SQLite到MySQL(sqlite转mysql)
- 的区别SQLite和MySQL: 突出的不同特点(sqlite和mysql)
- SQLite与Redis的比较精彩一瞥(sqlite和redis)
- 深入C++实现函数itoa()的分析
- VC++实现输出GIF到窗体并显示GIF动画的方法