在VC6下用SQLite开发零配置的数据库应用
2007-12-29 16:06
573 查看
系统环境: XP + VC6.0 sp6
SQLite是一款非常适合嵌入式应用的数据库,小巧、快速和可靠。真正的开源免费,不保留任何版权(Public Domain)。它无需运行额外的服务器进程,用它来开发桌面数据库的应用,似乎比MS Access更显得简洁。
【一. 生成SQLite库文件】
新建“C:/mylibs/libSQLite3”目录,将它作为我们的当前工作目录。
(1)在SQLite的官方网站下载Windows平台下的3.5.4版本的SQLite, 下载地址:
http://www.sqlite.org/sqlitedll-3_5_4.zip
解压缩其中的“sqlite3.def”和“sqlite3.dll”两个文件到“C:/mylibs/libSQLite3/”;
打开“命令提示符”窗口,用LIB命令生成用于连接(LINK)使用的lib文件:
CD C:/mylibs/libSQLite3
LIB /DEF:sqlite3.def /machine:IX86
这样将生成“sqlite3.lib”和“sqlite3.exp”两个文件。
(2)在SQLite官方网站下载SQLite3的源程序, 下载地址:
http://www.sqlite.org/sqlite-source-3_5_4.zip
解压出其中的“sqlite3.h”文件到“C:/mylibs/libSQLite3/”。
(3)检查文件清单,此时“C:/mylibs/libSQLite3/”目录下应该有如下五个文件:
sqlite3.def
sqlite3.dll
sqlite3.exp
sqlite3.h
sqlite3.lib
【二. 编写示例程序】
(1)打开VC6.0,创建一个空的“Win32控制台应用程序”项目,名为“sqlitedemo”,在“D:/VCStudio/sqlitedemo”目录下。
(2)Project→Settings,在Link选项卡,“Category”选择“General”,在“Object/library modules”的最后填入“sqlite3.lib”,注意用空格分隔各项。
(3)将“libSQLite3”目录及其包含的文件复制到我们的工程目录。再将“libSQLite3”目录下的“sqlite3.lib”和“ sqlite3.dll”文件移动到工程目录下。
这样,在需要用到“sqlite”库的CPP文件顶部,加入一行:
#include "sqlite3.h"
然后,就可以在文件中调用sqlite3.dll里面的所有函数了。
(4)建立示例数据库。打开“命令提示符”窗口,切换到工程目录。执行:
D:/VCStudio/sqlitedemo>sqlite3 app.db
SQLite version 3.5.4
Enter ".help" for instructions
sqlite> CREATE TABLE t1(c1 TEXT);
sqlite> INSERT INTO t1 VALUES('Hello World!');
sqlite> SELECT * FROM t1;
Hello World!
sqlite> .exit
(5)新建“C++源文件”,名为“sqlitedemo.cpp”,选择“加入工程”,编写代码
#include <stdio.h>
#include <stdlib.h>
#include "./libSQLite3/sqlite3.h"
static int _callback_exec(void * notused,int argc, char ** argv, char ** aszColName)
{
int i;
for ( i=0; i<argc; i++ )
{
printf( "%s = %s/n", aszColName[i], argv[i] == 0 ? "NUL" : argv[i] );
}
return 0;
}
int main(int argc, char * argv[])
{
const char * sSQL = "select * from t1;";
char * pErrMsg = 0;
int ret = 0;
sqlite3 * db = 0;
ret = sqlite3_open("./app.db", &db);
if ( ret != SQLITE_OK )
{
fprintf(stderr, "Could not open database: %s", sqlite3_errmsg(db));
exit(1);
}
printf("Successfully connected to database/n");
sqlite3_exec( db, sSQL, _callback_exec, 0, &pErrMsg );
if ( ret != SQLITE_OK )
{
fprintf(stderr, "SQL error: %s/n", pErrMsg);
sqlite3_free(pErrMsg);
}
sqlite3_close(db);
db = 0;
return 0;
}
按“Ctrl+F5”运行,结果:
Successfully connected to database
c1 = Hello World!
Press any key to continue
SQLite是一款非常适合嵌入式应用的数据库,小巧、快速和可靠。真正的开源免费,不保留任何版权(Public Domain)。它无需运行额外的服务器进程,用它来开发桌面数据库的应用,似乎比MS Access更显得简洁。
【一. 生成SQLite库文件】
新建“C:/mylibs/libSQLite3”目录,将它作为我们的当前工作目录。
(1)在SQLite的官方网站下载Windows平台下的3.5.4版本的SQLite, 下载地址:
http://www.sqlite.org/sqlitedll-3_5_4.zip
解压缩其中的“sqlite3.def”和“sqlite3.dll”两个文件到“C:/mylibs/libSQLite3/”;
打开“命令提示符”窗口,用LIB命令生成用于连接(LINK)使用的lib文件:
CD C:/mylibs/libSQLite3
LIB /DEF:sqlite3.def /machine:IX86
这样将生成“sqlite3.lib”和“sqlite3.exp”两个文件。
(2)在SQLite官方网站下载SQLite3的源程序, 下载地址:
http://www.sqlite.org/sqlite-source-3_5_4.zip
解压出其中的“sqlite3.h”文件到“C:/mylibs/libSQLite3/”。
(3)检查文件清单,此时“C:/mylibs/libSQLite3/”目录下应该有如下五个文件:
sqlite3.def
sqlite3.dll
sqlite3.exp
sqlite3.h
sqlite3.lib
【二. 编写示例程序】
(1)打开VC6.0,创建一个空的“Win32控制台应用程序”项目,名为“sqlitedemo”,在“D:/VCStudio/sqlitedemo”目录下。
(2)Project→Settings,在Link选项卡,“Category”选择“General”,在“Object/library modules”的最后填入“sqlite3.lib”,注意用空格分隔各项。
(3)将“libSQLite3”目录及其包含的文件复制到我们的工程目录。再将“libSQLite3”目录下的“sqlite3.lib”和“ sqlite3.dll”文件移动到工程目录下。
这样,在需要用到“sqlite”库的CPP文件顶部,加入一行:
#include "sqlite3.h"
然后,就可以在文件中调用sqlite3.dll里面的所有函数了。
(4)建立示例数据库。打开“命令提示符”窗口,切换到工程目录。执行:
D:/VCStudio/sqlitedemo>sqlite3 app.db
SQLite version 3.5.4
Enter ".help" for instructions
sqlite> CREATE TABLE t1(c1 TEXT);
sqlite> INSERT INTO t1 VALUES('Hello World!');
sqlite> SELECT * FROM t1;
Hello World!
sqlite> .exit
(5)新建“C++源文件”,名为“sqlitedemo.cpp”,选择“加入工程”,编写代码
#include <stdio.h>
#include <stdlib.h>
#include "./libSQLite3/sqlite3.h"
static int _callback_exec(void * notused,int argc, char ** argv, char ** aszColName)
{
int i;
for ( i=0; i<argc; i++ )
{
printf( "%s = %s/n", aszColName[i], argv[i] == 0 ? "NUL" : argv[i] );
}
return 0;
}
int main(int argc, char * argv[])
{
const char * sSQL = "select * from t1;";
char * pErrMsg = 0;
int ret = 0;
sqlite3 * db = 0;
ret = sqlite3_open("./app.db", &db);
if ( ret != SQLITE_OK )
{
fprintf(stderr, "Could not open database: %s", sqlite3_errmsg(db));
exit(1);
}
printf("Successfully connected to database/n");
sqlite3_exec( db, sSQL, _callback_exec, 0, &pErrMsg );
if ( ret != SQLITE_OK )
{
fprintf(stderr, "SQL error: %s/n", pErrMsg);
sqlite3_free(pErrMsg);
}
sqlite3_close(db);
db = 0;
return 0;
}
按“Ctrl+F5”运行,结果:
Successfully connected to database
c1 = Hello World!
Press any key to continue
相关文章推荐
- 在VC6下用SQLite开发零配置的数据库应用
- VC6 和 SQLite开发零配置的数据库应用
- Ubuntu下sqlite3的配置与使用(以后会说到Ubuntu下C++数据库应用开发程序(窗体程序))
- SQLite(轻量级最佳数据库) 原理分析和开发应用
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加检索操作(Retrieve)
- 基于元数据配置的asp.net数据库应用快速开发框架设计及实现
- SQLite(轻量级最佳数据库) 原理分析和开发应用zz
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加数据(Create)
- Android开发—数据库应用—使用数据库(SQLite)--查看模拟器目录
- Android开发—数据库应用—手动创建(SQLite)数据库--手动创建数据表(table)
- asp.net下SQLite(轻量级最佳数据库) 原理分析和开发应用
- Android应用开发之sqlite使用模糊查询数据库数据的三种方式
- XData -–无需开发、基于配置的数据库RESTful服务,可作为移动App和ExtJS、WPF/Silverlight、Ajax等应用的服务端
- Android开发—数据库应用—访问数据表(SQLite OpenHelper)
- 【Win 10 应用开发】Sqlite 数据库的简单用法
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —删除数据
- C#使用 SQLite 数据库 开发的配置过程及基本操作类,实例程序:工商银行贵金属行情查看小工具
- android应用开发存储方式之SQLite(android自带的数据库)的一些个人理解
- iOS应用开发中SQLite的初步配置指南
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —查询单条记录、修改