- 浏览: 210671 次
- 性别:
- 来自: 河南省
文章分类
最新评论
-
l379101003:
引用[code="java"]
spring mvc 接入微信公众平台 注解方式的写法 -
jtmjx:
你好,我也做了一个,可是Get与微信对接校验的可以,但是POS ...
spring mvc 接入微信公众平台 注解方式的写法 -
ileson:
windows mysql服务问题很奇怪,有可能建议大家迁移到 ...
MySql 使用总结
初识sqlite 翻了好多资料。终于搞明白怎么回事了,记录一下。备查。
1、官网【sqlite.org】上面文件说明:
①:Source Code源代码就在这个压缩包里
sqlite-amalgamation-3071300.zip(1.33 MiB)。其中有四个文件分别为:shell.c、sqlite3.c、sqlite3.h、sqlite3ext.h;这就是sqlite C的源代码了。
②:动态库
sqlite-dll-win32-x86-3071300.zip这个包里有两个文件:sqlite3.def、sqlite3.dll
2、C/C++调用
现在光有这些文件还是不够的,根据上面的文件生成链接库文件。(其实有源码已经够了,但建议最好生成各平台的库文件,因程序编译时源文件很慢,弄成库调用就很快了。)
在VC6下:
将sqlite3.dll和sqlite3.def放到:d:\Microsoft Visual Studio\VC98\Bin下
然后dos命令提示 定位到上面的这个目录上
输入命令:
回车,然后在该目录下就会看到生成了两个文件(sqlite3.exp、sqlite3.lib)
调用 :先将sqlite3.h、sqlite3.dll、sqlite3.lib放到vc工程目录下。
main.c
3、Java (JDBC)调用
①下载jdbc驱动包
sqlitejdbc-v056.jar
②代码
1、官网【sqlite.org】上面文件说明:
①:Source Code源代码就在这个压缩包里
sqlite-amalgamation-3071300.zip(1.33 MiB)。其中有四个文件分别为:shell.c、sqlite3.c、sqlite3.h、sqlite3ext.h;这就是sqlite C的源代码了。
②:动态库
sqlite-dll-win32-x86-3071300.zip这个包里有两个文件:sqlite3.def、sqlite3.dll
2、C/C++调用
现在光有这些文件还是不够的,根据上面的文件生成链接库文件。(其实有源码已经够了,但建议最好生成各平台的库文件,因程序编译时源文件很慢,弄成库调用就很快了。)
引用
Codeblocks()
1.用GCC,生成.a文件;先将sqlite3.c放到gcc工具的bin目录下。
2.将libsqlite3.a,sqlite3.h文件放在Codeblocks的工程目录中;
3.Build option->Linker settings->Link librarys增加libsqlite3.a;
4.Build option->Search Directories->Linker点击Add按钮,添加当前目录;
5.OK.
Codeblocks注意一点:如果在设置Build option时,注意一下左边选择,我是选择了Debug和Release上面的项目名称添加的,所以又点了Copy all to…按钮将配置复制到Debug和Release。
1.用GCC,生成.a文件;先将sqlite3.c放到gcc工具的bin目录下。
gcc -c sqlite3.c -o sqlite3.o ar rcs libsqlite3.a sqlite3.o //生成我要的libsqlite3.a 静态库文件
2.将libsqlite3.a,sqlite3.h文件放在Codeblocks的工程目录中;
3.Build option->Linker settings->Link librarys增加libsqlite3.a;
4.Build option->Search Directories->Linker点击Add按钮,添加当前目录;
5.OK.
Codeblocks注意一点:如果在设置Build option时,注意一下左边选择,我是选择了Debug和Release上面的项目名称添加的,所以又点了Copy all to…按钮将配置复制到Debug和Release。
#include <stdio.h> #include "sqlite3.h" int main(void){ sqlite3 *pDB=NULL; int ret=sqlite3_open("fuck.db",&pDB); if(ret==SQLITE_OK){ printf("sqlite3,打开成功!"); } sqlite3_close(pDB); return 0; }
在VC6下:
将sqlite3.dll和sqlite3.def放到:d:\Microsoft Visual Studio\VC98\Bin下
然后dos命令提示 定位到上面的这个目录上
输入命令:
D:\Microsoft Visual Studio\VC98\Bin>lib /def:sqlite3.def /machine:ix86
回车,然后在该目录下就会看到生成了两个文件(sqlite3.exp、sqlite3.lib)
调用 :先将sqlite3.h、sqlite3.dll、sqlite3.lib放到vc工程目录下。
main.c
#include <stdio.h> #include "sqlite3.h" #pragma comment(lib,"sqlite3.lib") int main(void){ sqlite3 *pDB=NULL; int ret=sqlite3_open("fuck.db",&pDB); if(ret==SQLITE_OK){ printf("打开成功!"); } sqlite3_close(pDB); return 0; }
引用
小注:windows 与linux 下链接文件对比
比较完好的C Sqlite3 API学习:入门API
类型 | Windows | Linux |
静态库 | lib(library) | a(archived file) |
动态库 | dll | so(shared object) |
比较完好的C Sqlite3 API学习:入门API
3、Java (JDBC)调用
①下载jdbc驱动包
sqlitejdbc-v056.jar
②代码
package com.leson.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public class SQLiteHelper { private String url; private String dbname; private String path; /** * 得到Connection 对象 * @return */ public Connection getConn(){ Connection conn=null; try { Class.forName("org.sqlite.JDBC"); conn=DriverManager.getConnection("jdbc:sqlite:e:/test.db");//如果没有自动创建test.db } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 查询 * @param conn * @param sql * @return List<Map<String,Object>>([{},{}]) */ public List<Map<String,Object>> execQuery(Connection conn,String sql){ List<Map<String,Object>> list=new ArrayList<Map<String,Object>>(); PreparedStatement ps=null; ResultSet rs=null; try { ps=conn.prepareStatement(sql); rs=ps.executeQuery(); ResultSetMetaData rsmd=rs.getMetaData(); int columnCount=rsmd.getColumnCount();//结果集共多少列 while(rs.next()){ Map<String, Object> ht=new LinkedHashMap<String, Object>(); for(int i=1;i<=columnCount;i++){ ht.put(rsmd.getColumnName(i), rs.getString(i)); } list.add(ht); } } catch (SQLException e) { e.printStackTrace(); }finally{ try { rs.close(); ps.close(); } catch (SQLException e) { e.printStackTrace(); } } return list; } /** * 增、删、改 * @return */ public synchronized int execUpdate(Connection conn,String sql){ int res=0; PreparedStatement ps=null; try { ps=conn.prepareStatement(sql); res=ps.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } return res; } /** * 多条sql语句的批处理。 * @param conn * @param sqls * @return */ public synchronized int execBatch(Connection conn,String[] sqls){ Statement sm=null; try { sm=conn.createStatement(); for(String sql:sqls){ sm.addBatch(sql); } sm.executeBatch(); } catch (SQLException e) { e.printStackTrace(); }finally{ try { sm.close(); } catch (SQLException e) { e.printStackTrace(); } } return 0; } /** * 测试本类的方法 * @param args */ public static void main(String args[]){ SQLiteHelper sh=new SQLiteHelper(); Connection conn=sh.getConn(); // String[] sqls=new String[3]; // String sql1 ="create table test(id,name);"; // String sql2="insert into test(id,name) values('1','张三')"; // String sql3="insert into test(id,name) values('2','李四')"; // sqls[0]=sql1; // sqls[1]=sql2; // sqls[2]=sql3; // sh.execBatch(conn, sqls); //------------------------- String sql="select * from test;"; List<Map<String,Object>> list=sh.execQuery(conn, sql); System.out.println(list); try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
- sqlitejdbc-v056.jar (2.6 MB)
- 下载次数: 3
发表评论
-
mongodb-2.6.7 win7 64bit 使用总结
2015-02-01 22:53 745官网:https://www.mongodb.or ... -
centos nginx php mysql 集成
2014-11-26 02:42 1072一、安装 0、一篇不错的文章。 1、nginx 安装 ... -
web app native app hybrid app 简单区分
2014-10-31 19:54 824一、web app 简单入门 android we ... -
sublime 编辑器
2014-09-25 12:56 1245打造便携版的sublime 一、centos c 编辑、 ... -
redis
2014-09-14 18:08 742Redis官方网址 Redis中文网 1、linux 安装 ... -
centos6.5 升级mysql到5.6
2014-06-19 01:38 2926一、首先将我的 mysql5.1 ... -
centos 6.5 安装mariadb10
2014-06-18 13:31 763基础源更换成163的(这个不是安装mariadb必须的) ht ... -
spring mvc 接入微信公众平台 注解方式的写法
2014-05-25 21:10 24417package com.meiparty.controll ... -
java 框架学习笔记
2014-05-17 21:21 636一、 mybatis3.2 1、遇到的一个问题:log4j 打 ... -
java 问题总结
2014-04-15 10:23 6190x001: An internal error occurr ... -
制作可运行于NT服务的过程。
2014-03-25 15:54 613文件列表: 文件说明: Server.exe ... -
关于RF卡的集成开发总结
2014-02-20 12:47 359前言: 最近作了RFIC卡(M1 S50型号)的集成, ... -
ocx 打cab包发布
2013-11-28 18:50 3608打包工具有多种,我用 ... -
javah 生成头文件时报找不到类路径的解决办法
2013-09-04 22:11 1568一、问题描述: 用javah 生成头文件时,总是报错。 ... -
tomcat jvm调优
2013-04-23 19:01 843一、生产环境,性能测试。 环境概述: os:centos 6. ... -
gcc gdb 使用
2013-03-20 16:35 01、gcc -g xxx.c -o xxx --编 ... -
CentOS 搭建各种服务
2013-01-12 01:52 1232一、安装JDK JDK下载地址: http://www.or ... -
C++ Socket 网络编程
2012-04-25 15:20 1614过程: 入门级的测试程序 1、客户端代码 #i ... -
mysql 触发器
2012-04-20 11:23 832=============================== ... -
DLL 的编写与调用(入门)
2012-02-20 01:05 985一直调用别人写 ...
相关推荐
SQLite入门与分析.doc SQLite入门与分析.doc
SQLite入门与分析(七)---浅谈SQLite的虚拟机.doc SQLite入门与分析(八)---存储模型.doc SQLite入门与分析(九)---VACUUM命令分析.doc
SQLite入门 SQLite入门 SQLite入门 SQLite入门 SQLite入门
简简单单的数据库SQLite的增删改查操作。。
我自己寻找整理的SQLite资料,希望对大家有帮助。清单如下: Android 数据库技术 sqlite3-基础教程 sqlite3使用详解 sqlite命令行手册(中文) ...SQLite入门与分析 SQLite数据库文件格式全面分析
sqlite教程,很好的sqlite入门教程
SQLite入门与分析 SQLite 内核进行一个完整的剖析 核心 API 的函数实现基本的数据库操作: 连接数据库,处理 SQL,遍历结果集。
还不错的sqlite入门语法,适合入门学习,对象操作 数据操作 事务处理 内置函数等
Android中使用SQLite保存备忘录数据的代码清单.pdf 学习资料 复习资料 教学资源
Android中使用SQLite保存备忘录数据的任务要求.pdf 学习资料 复习资料 教学资源
sqlite入门实例
android数据库经典教材SQLite入门.pdf
SQLite_入门教程,很好的学习资料,多谢下载.
SQLite入门与分析(四)---Page Cache之事务处理.doc SQLite入门与分析(五)---Page Cache之并发控制.doc SQLite入门与分析(六)---再谈SQLite的锁.doc