SQLite在VC下的使用(2)
四、编译LIB
需要到SQLite网站下载sqlitedll-3_6_11.zip,以VS 2008为例:
在DOS命令行下:
PATH = D:Program FilesMicrosoft Visual Studio 9.0VCbin;%PATH%
PATH = D:Program FilesMicrosoft Visual Studio 9.0Common7IDE;%PATH%
LIB /DEF:sqlite3.def /machine:IX86
五、在VC下使用
#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 = %sn", 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: %sn", 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;
return 0;
}
总结:
正如SQLite的名称,SQLite有其适合的应用环境,对于高流量或数据庞大的Web站点,还是应该考虑使用DBMS。
- 上一篇:在对话框显示图片的多种方法(上)
- 下一篇:使用VC++开发考场随机排座系统[组图]