sqlite3vc:SQLite在VC下的使用

、SQLite介绍
SQLite 是用C语言编写开源数据库主要用于嵌入式你也可以把它集成在自己桌面也有人将其替代Access用作后台数据库
SQLite 支持多数SQL92标准例如:索引、限制、触发和查看支持
支持 NULL、INTEGER、REAL、TEXT 和 BLOB 数据类型支持事务

2、下载SQLite
SQLite可以到官方站点下载
http://www.sqlite.org/download.html
包括:Linux,Mac OS X, Windows下已编译文件以及源代码、帮助文档

3、SQLite简单使用

3.1 建立数据库

C:\sqlite-3_6_11> sqlite3.exe dbname.dbsqlite3.exe后面跟数据库文件名

3.2 创建数据表

sqlite> create table users(userid varchar(20) PRIMARY KEY,
...> age ,
...> birthday datetime);3.3 添加记录

insert o users values('wang',20,'1989-5-4');
insert o users values('li',22,'1987-11-16');3.4 查询记录

select * from users order by birthday;3.5 删除记录

delete from users where userid='wang';3.6 退出sqlite

sqlite> .exitSQLite数据库数据结构是存贮在 "sqlite_master" 表中

具体命令可以输入 .help查看或参考帮助文档

4、编译LIB

需要到SQLite网站WebSite下载sqlitedll-3_6_11.zip以VS 2008为例:

在DOS命令行下:

PATH = D:\Program Files\Microsoft Visual Studio 9.0\VC\bin;%PATH%
PATH = D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;%PATH%
LIB /DEF:sqlite3.def /machine:IX86 5、在VC下使用

# "../sqlite3_lib/sqlite3.h"

#pragma comment(lib, "../sqlite3_lib/sqlite3.lib")

_sql_callback(void * notused, argc, char ** argv, char ** szColName)
{
i;
for ( i=0; i < argc; i )
{
prf( "%s = %s\n", szColName[i], argv[i] 0 ? "NUL" : argv[i] );
}

0;
}

( argc, char * argv)
{
const char * sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age , birthday datetime);";
const char * sSQL2 = "insert o users values('wang',20,'1989-5-4');";
const char * sSQL3 = "select * from users;";

sqlite3 * db = 0;
char * pErrMsg = 0;
ret = 0;

// 连接数据库
ret = sqlite3_open("./test.db", &db);

( ret != SQLITE_OK )
{
fprf(stderr, "无法打开数据库: %s", sqlite3_errmsg(db));
(1);
}

prf("数据库连接成功!\n");

// 执行建表SQL

sqlite3_exec( db, sSQL1, 0, 0, &pErrMsg );
( ret != SQLITE_OK )
{
fprf(stderr, "SQL error: %s\n", pErrMsg);
sqlite3_free(pErrMsg);
}

// 执行插入记录SQL
sqlite3_exec( db, sSQL2, 0, 0, &pErrMsg);

// 查询数据表
sqlite3_exec( db, sSQL3, _sql_callback, 0, &pErrMsg);

// 关闭数据库
sqlite3_close(db);
db = 0;

0;
}整理总结:
正如SQLite名称SQLite有其适合应用环境对于高流量或数据庞大Web站点还是应该考虑使用DBMS
Tags:  sqlite使用 vcsqlite事务 sqlitevc sqlite3vc

延伸阅读

最新评论

发表评论