首页 > 编程 > C++ > 正文

VC++操作SQLite简单实例

2020-01-26 15:26:33
字体:
来源:转载
供稿:网友

对于很多程序员来说,SQLite并不陌生。SQLite 是一款主要用于嵌入式的开源数据库,可集成在自己的桌面程序中,也可替代Access作为后台数据库。SQLite 支持多数SQL92标准,例如:索引、限制、触发和查看支持,支持 NULL、INTEGER、REAL、TEXT 和 BLOB 数据类型,支持事务。以下是一些SQLite的简单使用。

//建立数据库C:/sqlite-3_6_11> sqlite3.exe dbname.db

建立数据库的时候sqlite3.exe后面跟数据库文件名

//创建数据表sqlite> create table users(userid varchar(20) PRIMARY KEY,...> age int,...> birthday datetime);//添加记录insert into users values('wang',20,'1989-5-4');insert into users values('li',22,'1987-11-16');//查询记录select * from users order by birthday;//删除记录delete from users where userid='wang';//退出sqlitesqlite> .exit

SQLite数据库的数据结构是存贮在 "sqlite_master" 表中,具体命令可以输入.help查看或参考SQLite帮助文档。
在VC下使用SQLite的简单例子:

#include "../sqlite3_lib/sqlite3.h" //请以你的地址为准#pragma comment(lib, "../sqlite3_lib/sqlite3.lib")//请以你的地址为准static int _sql_callback(void * notused, int argc, char ** argv, char ** szColName){int i;for ( i=0; i < argc; i++ ){printf( "%s = %s/n", szColName[i], argv[i] == 0 ? "NUL" : argv[i] );}return 0;}int main(int argc, char * argv[]){const char * sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age int, birthday datetime);";const char * sSQL2 = "insert into users values('wang',20,'1989-5-4');";const char * sSQL3 = "select * from users;";sqlite3 * db = 0;char * pErrMsg = 0;int ret = 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, "SQL error: %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;return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表