SQLite是一个跨平台,支持多种语言,开源的轻量级数据库,可以
作为Access的一个替代方案。
 
官方网站:
http://www.sqlite.org
 
本文中的简单应用使用Windows下的C++语言。

1.下载SQLite

SQLite command-line Tools:
http://www.sqlite.org/sqlite-3_6_22.zip
 
SQLite library DLL:
http://www.sqlite.org/sqlitedll-3_6_22.zip
只有dll和def文件,需要用工具生成.lib文件:
可以使用命令:LIB /DEF:sqlite3.def /machine:IX86
头文件sqlite3.h可以从SQLite的源码中复制过来。
 
SQLite本身不需要安装,可以直接使用。
 
源码下载地址:
http://www.sqlite.org/sqlite-source-3_6_22.zip
 
SQLite文档下载地址:
http://www.sqlite.org/sqlite_docs_3_6_22.zip
 
第三方的SQLite管理软件SharpPlus SQLite Developer:
http://www.sqlitedeveloper.com/downloads/SqliteDev361.zip

2.创建一个数据库

可以使用SQLite Developer创建,操作方法如同其他DBMS一致。
 
表结构如下:
Create TABLE "Users"(
ID integer Primary Key AUTOINCREMENT
,UserName
,NickName  
)

3.在C++中操作该数据库

#include <stdio.h>
 
#include "sqlite3.h"
#pragma comment(lib,"sqlite3.lib")
 
static int _sql_callback(void * notused, int argc,
                         char ** argv, char ** szColName)
{
    for (int i=0; i < argc; i++ )
    {
        printf( "%s = %s\n", szColName[i],
            argv[i] == 0 ? "NULL" : argv[i] );
    }
    return 0;
}
 
 
int main()
{
    sqlite3* db=NULL;
    //连接数据库
    int ret=sqlite3_open("./UserInfo.db",&db);
    if(ret!=SQLITE_OK)
    {
        printf("无法打开数据库:%s.\n",sqlite3_errmsg(db));
        return(1);
    }
 
    char *pErrMsg=NULL;
    char *szSql="Select * from Users";
    sqlite3_exec(db,szSql,_sql_callback,0,&pErrMsg);
    if(ret!=SQLITE_OK)
     {
        printf("SQL error:%s\n",pErrMsg);
        sqlite3_free(pErrMsg);
    }
 
    sqlite3_close(db);
 
    return 0;
}
 
执行结果:
ID = 1
UserName = dgx_lsyd3
NickName = 淡月清风
ID = 2
UserName = testUserName
NickName = testNickName

4.用.Net操作数据库
 

需要安装Provider:"System.Data.SQLite"。
下载地址:
http://sqlite.phxsoftware.com/
http://sourceforge.net/projects/sqlite-dotnet2/
 


本文链接地址: 10分钟将SQLite应用到自己的项目中
http://qingfengju.com/index.asp?id=196

分类:数据库 查看次数:9126 发布时间:2010-2-8 0:54:28