- 浏览: 2063451 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
SQLite在VC下的使用(转)http://www.sqlite.com.cn/MySqlite/4/523.Html
一、SQLite简介
SQLite 是用C语言编写的开源数据库,主要用于嵌入式,你也可以把它集成在自己的桌面程序中,也有人将其替代Access,用作后台数据库。
SQLite 支持多数SQL92标准,例如:索引、限制、触发和查看支持。
支持 NULL、INTEGER、REAL、TEXT 和 BLOB 数据类型,支持事务。
二、下载SQLite
SQLite可以到官方站点下载
http://www.sqlite.org/download.html
包括:Linux,Mac OS X, Windows下的已编译文件以及源代码、帮助文档。
VC中使用sqlite
SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成,步骤如下:
1.将sqlite3.h(D:\sqlite-amalgamation-3_6_23.zip)拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Include目录下,这时编译可通过,但链接错误,因为没有LIB文件()
2.启动一个命令行程序,进入VC的安装目录C:\Program Files\Microsoft Visual Studio\VC98\Bin,在这个目录下面有一个LIB.exe文件,使用它就能生成sqlite3.lib文件,将sqlite3.def文件放到相同目录,或者绝对路径也可以, 然后在命令行输入如下命令:
LIB /MACHINE:IX86 /DEF:sqlite3.def
该命令生成两个文件:sqlite3.lib和sqlite3.exp
运行该命令时,如果提示找不到MSPDB60.DLL文件,可从其它目录拷贝至Bin目录下
3.将生成的sqlite3.lib拷贝到Lib目录下,将sqlite3.dll拷贝到C:\WINNT\system32目录下
4.将sqlite3.lib加入到工程链接中,Project->Settings,Link选项卡,Object/library modules最后添入sqlite3.lib
D:\sqlitedll-3_6_23里有.dll和.def文件
生成的lib在bin下
这时以下程序便可通过VC编译链接并运行:
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
int column_names_printed = 0;
void print_row(int n_values, char** values)
{
int i;
for (i = 0; i < n_values; ++i) {
printf("%10s", values[i]);
}
printf("\n");
}
int print_result(void* data, int n_columns, char** column_values, char** column_names)
{
if (!column_names_printed) {
print_row(n_columns, column_names);
column_names_printed = 1;
}
print_row(n_columns, column_values);
return 0;
}
int main()
{
sqlite3 *db=NULL;
char *errMsg = NULL;
int rc;
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else printf("open test.db successfully!\n");
rc = sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL);
rc = sqlite3_exec(db, "CREATE TABLE students(number varchar(10), name varchar(10), \
sex varchar(6), age varchar(2));", NULL, NULL, NULL);
rc = sqlite3_exec(db, "INSERT INTO students VALUES('00001', 'Mary', 'female', '15');\
INSERT INTO students VALUES('00002', 'John', 'male', '16');\
INSERT INTO students VALUES('00003', 'Mike', 'male', '15');\
INSERT INTO students VALUES('00004', 'Kevin', 'male', '17');\
INSERT INTO students VALUES('00005', 'Alice', 'female', '14');\
INSERT INTO students VALUES('00006', 'Susan', 'female', '16');\
INSERT INTO students VALUES('00007', 'Christina', 'female', '15');\
INSERT INTO students VALUES('00008', 'Brian', 'male', '16');\
INSERT INTO students VALUES('00009', 'Dennis', 'male', '14');\
INSERT INTO students VALUES('00010', 'Daphne', 'female', '18');",
NULL, NULL, &errMsg);
column_names_printed = 0;
rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='female';", print_result, NULL, &errMsg);
column_names_printed = 1;
printf("\n");
column_names_printed = 0;
rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='male';", print_result, NULL, &errMsg);
column_names_printed = 1;
rc = sqlite3_exec(db, "COMMIT TRANSACTION;", NULL, NULL, NULL);
printf("error code: %d\n", rc);
printf("error message: %s\n", errMsg);
sqlite3_close(db);
return 0;
}
另外,在vc下编译sqlite源代码,出现can not find tcl.h 可以 去掉tclsqlite.c或者在这个文件前面添加#define NO_TCL 去掉tcl的支持
三、SQLite的简单使用
3.1 建立数据库
C:\sqlite-3_6_11> sqlite3.exe dbname.db
sqlite3.exe后面跟数据库文件名,它是进入编译阶段的入口指令
3.2 创建数据表
sqlite> create table users(userid varchar(20) PRIMARY KEY,
...> age int,
...> birthday datetime);
3.3 添加记录
insert into users values('wang',20,'1989-5-4');
insert into 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> .exit
SQLite数据库的数据结构是存贮在 "sqlite_master" 表中
具体命令可以输入 .help查看或参考帮助文档
四、编译LIB
需要到SQLite网站下载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
一、SQLite简介
SQLite 是用C语言编写的开源数据库,主要用于嵌入式,你也可以把它集成在自己的桌面程序中,也有人将其替代Access,用作后台数据库。
SQLite 支持多数SQL92标准,例如:索引、限制、触发和查看支持。
支持 NULL、INTEGER、REAL、TEXT 和 BLOB 数据类型,支持事务。
二、下载SQLite
SQLite可以到官方站点下载
http://www.sqlite.org/download.html
包括:Linux,Mac OS X, Windows下的已编译文件以及源代码、帮助文档。
VC中使用sqlite
SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成,步骤如下:
1.将sqlite3.h(D:\sqlite-amalgamation-3_6_23.zip)拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Include目录下,这时编译可通过,但链接错误,因为没有LIB文件()
2.启动一个命令行程序,进入VC的安装目录C:\Program Files\Microsoft Visual Studio\VC98\Bin,在这个目录下面有一个LIB.exe文件,使用它就能生成sqlite3.lib文件,将sqlite3.def文件放到相同目录,或者绝对路径也可以, 然后在命令行输入如下命令:
LIB /MACHINE:IX86 /DEF:sqlite3.def
该命令生成两个文件:sqlite3.lib和sqlite3.exp
运行该命令时,如果提示找不到MSPDB60.DLL文件,可从其它目录拷贝至Bin目录下
3.将生成的sqlite3.lib拷贝到Lib目录下,将sqlite3.dll拷贝到C:\WINNT\system32目录下
4.将sqlite3.lib加入到工程链接中,Project->Settings,Link选项卡,Object/library modules最后添入sqlite3.lib
D:\sqlitedll-3_6_23里有.dll和.def文件
生成的lib在bin下
这时以下程序便可通过VC编译链接并运行:
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
int column_names_printed = 0;
void print_row(int n_values, char** values)
{
int i;
for (i = 0; i < n_values; ++i) {
printf("%10s", values[i]);
}
printf("\n");
}
int print_result(void* data, int n_columns, char** column_values, char** column_names)
{
if (!column_names_printed) {
print_row(n_columns, column_names);
column_names_printed = 1;
}
print_row(n_columns, column_values);
return 0;
}
int main()
{
sqlite3 *db=NULL;
char *errMsg = NULL;
int rc;
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else printf("open test.db successfully!\n");
rc = sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL);
rc = sqlite3_exec(db, "CREATE TABLE students(number varchar(10), name varchar(10), \
sex varchar(6), age varchar(2));", NULL, NULL, NULL);
rc = sqlite3_exec(db, "INSERT INTO students VALUES('00001', 'Mary', 'female', '15');\
INSERT INTO students VALUES('00002', 'John', 'male', '16');\
INSERT INTO students VALUES('00003', 'Mike', 'male', '15');\
INSERT INTO students VALUES('00004', 'Kevin', 'male', '17');\
INSERT INTO students VALUES('00005', 'Alice', 'female', '14');\
INSERT INTO students VALUES('00006', 'Susan', 'female', '16');\
INSERT INTO students VALUES('00007', 'Christina', 'female', '15');\
INSERT INTO students VALUES('00008', 'Brian', 'male', '16');\
INSERT INTO students VALUES('00009', 'Dennis', 'male', '14');\
INSERT INTO students VALUES('00010', 'Daphne', 'female', '18');",
NULL, NULL, &errMsg);
column_names_printed = 0;
rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='female';", print_result, NULL, &errMsg);
column_names_printed = 1;
printf("\n");
column_names_printed = 0;
rc = sqlite3_exec(db, "SELECT students.* FROM students WHERE sex='male';", print_result, NULL, &errMsg);
column_names_printed = 1;
rc = sqlite3_exec(db, "COMMIT TRANSACTION;", NULL, NULL, NULL);
printf("error code: %d\n", rc);
printf("error message: %s\n", errMsg);
sqlite3_close(db);
return 0;
}
另外,在vc下编译sqlite源代码,出现can not find tcl.h 可以 去掉tclsqlite.c或者在这个文件前面添加#define NO_TCL 去掉tcl的支持
三、SQLite的简单使用
3.1 建立数据库
C:\sqlite-3_6_11> sqlite3.exe dbname.db
sqlite3.exe后面跟数据库文件名,它是进入编译阶段的入口指令
3.2 创建数据表
sqlite> create table users(userid varchar(20) PRIMARY KEY,
...> age int,
...> birthday datetime);
3.3 添加记录
insert into users values('wang',20,'1989-5-4');
insert into 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> .exit
SQLite数据库的数据结构是存贮在 "sqlite_master" 表中
具体命令可以输入 .help查看或参考帮助文档
四、编译LIB
需要到SQLite网站下载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
发表评论
-
利用JDBC获取新插入记录id的三种方法
2016-11-12 20:26 1910在一对多的关联操作中,通常在一方插入记录后,需要获取到当前记 ... -
Selector 和 Paging
2015-10-10 11:19 1611import java.util.List; impo ... -
Hibernate Dao辅助类,提供Dao的基本操作
2015-10-10 10:50 3676import java.io.Serializable; ... -
批处理batch,执行多个SQL语句
2015-07-15 19:21 10650批处理batch,执行多个SQL语句。 ... -
Mysql字符集设置(转)
2015-05-08 20:00 1296最近,在项目组使用 ... -
MySQL的btree索引和hash索引的区别
2015-03-27 17:24 17506Hash 索引结构的特殊性,其检索效率非常高,索引的检索 ... -
关于MYSQL Innodb 锁行还是锁表
2015-03-18 10:08 1986关于mysql的锁行还是锁表,这个问题,今天算是有了一点头 ... -
XA分布式事务处理
2014-08-22 18:06 1679在谈到 XA 规范之前,必须首先了解分布式事务处理( Dis ... -
sql中in 与exists
2014-07-15 12:46 1404NOT IN SELECT DISTINCT MD001 ... -
hibernate的query.scroll()和query.setFirstResult(),query.setMaxResults();
2014-07-01 08:19 2048一、hibernate的query.scroll()和que ... -
长连接和短连接的区别
2014-06-25 16:46 3460短连接 连接->传输数据->关闭连接 HTTP是无 ... -
MySQL 读写分离
2014-06-24 15:20 0一 什么是读写分离 ... -
(转)mysql分表与分区表
2014-06-24 15:17 0一,什么是mysql分表,分区 什么是分表,从表面意思上看 ... -
MySQL表的分区
2014-06-24 15:08 0一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若 ... -
数据库表的拆分
2014-06-24 14:37 2673下面来分析一下: ... -
(转)聚集索引
2014-06-15 14:47 1102在上一篇文章中,我们已经介绍了非聚集索引相关的内容。在本篇 ... -
Google的神器
2014-05-28 21:31 11451 Chubby http://blog.csd ... -
LSM树--高效的存储
2014-05-10 09:11 3188转http://bofang.iteye.com/blog/ ... -
(转)一致性哈希算法
2014-05-08 21:58 1209转帖:http://mntms.iteye.com/blog ... -
Jedis使用
2014-05-08 21:33 1517目录 1 JEDIS简介 1 2 JEDIS简单使用 1 3 ...
相关推荐
下面将详细介绍如何在VC下使用SQLite。 一、SQLite组件介绍 SQLite主要由以下组件构成: 1. SQLite库:这是核心部分,实现了SQL语言和数据库引擎。 2. SQLite动态链接库(DLL):VC项目可以链接此库来调用SQLite ...
在VC(Visual C++)开发环境中,SQLite是一个广泛使用的轻量级嵌入式数据库引擎,尤其适合于桌面应用和移动设备。本篇文章将详细介绍如何在VC项目中集成和使用SQLite,包括大批数据的快速插入以及从数据库中读取数据...
本教程将详细介绍如何在VC中使用SQLite数据库,实现客户端功能,无需安装OFFICE或大型数据库系统。 首先,你需要获取SQLite的动态链接库(DLL)或静态库文件,并将其包含到你的VC项目中。这通常可以从SQLite的官方...
在vc环境中使用SQLite数据库的详细方法和步骤
本文将深入探讨如何在C++环境下使用SQLite,特别是通过Visual C++(VC)进行数据库操作,包括查询和插入数据的示例。 首先,为了在C++中操作SQLite数据库,我们需要包含SQLite的C++接口库,如sqlite3.h头文件。这个...
标题“vc_sqlite.rar_VC sqlite _java程序_sqlite_sqlite vc”表明这是一个关于SQLite数据库的项目,使用了Visual C++(VC)进行开发,并且可能包含与Java程序的交互。这个压缩包很可能是提供了一个VC++编写的SQLite...
在本主题中,我们重点关注SQLite在Visual C++ 6.0(简称VC6.0)环境下的使用,包括如何配置SQLite库以及如何在VC6.0项目中集成和使用SQLite3.lib和SQLite3.dll文件。 1. **SQLite3.lib和SQLite3.dll**: - `SQLite...
本教程将详细讲解如何在Visual C++(VC)项目中集成并使用SQLite进行数据存储和检索。 首先,你需要下载SQLite的动态链接库(DLL)或静态库(LIB)以及对应的头文件(如`sqlite3.h`)。如果你选择动态链接,项目...
VC6使用SQLite文件数据库类及核心文件包是一个关于在Visual C++ 6.0环境下集成SQLite数据库系统的主题。SQLite是一个轻量级、自包含的、开源的SQL数据库引擎,广泛应用于移动设备、嵌入式系统以及桌面应用。通过将...
总的来说,这个"sqlite读写VC例子"涵盖了SQLite在VC8环境下的基本使用,包括数据库的打开、SQL语句的执行以及对话框中的数据插入操作。通过对这个例子的学习,你可以深入理解如何在C++程序中集成SQLite进行数据库...
在本文中,我们将深入探讨如何使用Visual C++(VC)集成开发环境,特别是MFC(Microsoft Foundation Classes)库来操作SQLite3数据库。SQLite3是一种轻量级、自包含的SQL数据库引擎,常用于嵌入式系统和桌面应用程序...
在本文中,我们将深入探讨如何在Visual C++(VC)环境下使用SQLite进行数据操作。SQLite是一个轻量级、自包含的数据库引擎,适用于各种应用程序,尤其是那些需要在没有服务器的情况下运行或者希望保持简单数据库功能...
sqlite3_aggregate_context sqlite3_aggregate_count sqlite3_bind_blob sqlite3_bind_double sqlite3_bind_int sqlite3_bind_int64 sqlite3_bind_null sqlite3_bind_parameter_count sqlite3_bind_parameter_index ...
SQLite是一款轻量级的、开源的关系型数据库管理系统,它无需单独的服务器...通过以上步骤,你可以在VC6环境下顺利使用SQLite SDK进行数据库相关的开发工作。记住,始终关注最新版本的SQLite以获取安全性和性能的改进。
完整的介绍VC连接SQLite3的方法(MFC封装类) http://blog.csdn.net/akof1314/archive/2010/10/13/5937103.aspx 里面包括SQLite3资料,还有图形数据查看器,示例工程等等
在VC6环境下,开发SQLite3的程序通常涉及到以下几个关键知识点: 1. **SQLite3库集成**:首先,你需要将SQLite3的动态链接库(如sqlite3.dll)或静态库(sqlite3.lib)添加到你的项目中,确保在运行时能够访问...
总的来说,"shujuku.zip_VC sqlite _sqlite_sqlite vc"提供的资源是关于在VC++环境下使用SQLite进行数据库操作的实例。通过理解SQLite API和SQL语言,我们可以创建、打开数据库,执行查询并处理返回的结果。这在开发...
本资料"vc++SQLite编程.zip"提供了一个关于如何在VC++环境下利用SQLite进行数据库编程的实例。 SQLite是开源的,支持SQL标准,并且不需要服务器进程。在VC++项目中,你可以通过SQLite的C接口来直接调用其API,实现...
《VC与SQLite数据库实战》 SQLite是一款轻量级的、开源的、自包含的数据库引擎,广泛应用于嵌入式系统和移动应用中。...通过实践,你将能够熟练地在MFC环境下构建和操作SQLite数据库,提升你的VC开发技能。