Posts tagged: sqlite3

ios简单sqlite使用

sqlite是嵌入式的和轻量级的sql数据库。sqlite是由c实现的。广泛用于包括浏览器(支持html5的大部分浏览器,ie除外)、ios、android以及一些便携需求的小型web应用系统。 使用sqlite前的准备 使用sqlite是很多做ios开发中第一次面对c的情况,包括我。因为sqlite是c写的,objc可以直接使用c代码。在sqlite前,一般都会使用cocoa touch框架,都是基于objc的。 首先,需要在对应文件的头文件中加入: #import "/usr/include/sqlite3.h" 并在Frameworks中加入所需的库,否则会报错: Undefined symbols:   "_sqlite3_open", referenced from:   加入库的方法是:   日志引用ios简单使用core data    发送文章为PDF   

星期二 九月 28th, 2010 in , , , , , | No Comments »

查看sqlite3表结构的命令

在android下通过adb shell命令可以进入sqlite3的命令行client,见:在android命令行下使用sqlite3。 如果想列出该数据库中的所有表,可: .table 如果想查看这些表的结构: select * from sqlite_master where type="table"; 可以看到类似:    发送文章为PDF   

星期五 七月 30th, 2010 in , , | No Comments »

Sqlite JDBC不支持可更新的游标

今天手写一些jdbc代码,基于sqlite的。为了省事儿,试了一下使用可更新游标,结果异常。 是意料之中的事情。引发异常的代码: Statement statement=connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);    发送文章为PDF   

星期四 三月 25th, 2010 in , , , | No Comments »

java编写sqlite3插入blob的办法

这里java操作sqlite3数据库,用的是java编写最简单的sqlite程序的方案。 目前测试可用的方式: statement.setBytes(i++, outputStream.toByteArray()); 其他方式,比如setBlob,或者setInputStream方式,都会报告抽象方法错误(AbstractMethodError)。说明该sqlite3驱动没有支持这些方法。 那么,setBytes的缺点是,二进制数据必须作为字节数组一次性的加载到内存,增加虚拟机的内存消耗,对于大图片,很容易引起OOM。    发送文章为PDF   

星期二 三月 23rd, 2010 in , , , | No Comments »

java编写最简单的sqlite程序

sqlite是c写的,没有官方的操作sqlite的java api。如果要使用Java编写sqlite代码,只能使用第三方的类库。目前我找到的有两种: SQLiteJDBC,http://www.zentus.com/sqlitejdbc/,这是一个纯Java的实现,只需把类库导入就可以使用,很方便,缺点嘛,就是慢一些; SQLite Java Wrapper,http://www.ch-werner.de/javasqlite/,安装的时候需要本地库,比如windows下的dll文件,和SQLiteJDBC的优缺点相反。 考虑到我们项目的需求,用SQLiteJDBC就够了。很小的项目,就是将xml文件导入生成sqlite db文件,因此也就不用什么maven和ant了。 eclipse项目的结构。 日志引用java编写sqlite3插入blob的办法    发送文章为PDF   

星期五 三月 19th, 2010 in , , , | No Comments »

android操作sqlite3的blob字段

sqlite3很容易使用。 这张图里面的标注部分,来自数据库的字段。见表结构: 数据库文件是从网上下载得到的,见android使用sqlite3数据库(网络下载文件)。 日志引用在content provider中使用二进制数据    发送文章为PDF   

星期二 三月 16th, 2010 in , , , , | 1 Comment »

在android命令行下使用sqlite3

现在已经可以在真机(nexus one)下使用sqlite3命令行工具了。不想在模拟器上面使用,android的模拟器和真机比较起来,太慢了,尤其是启动的时候。 如果在android上无法使用下面提到的命令行工具,报告: sqlite3: not found 那么可能需要安装带sqlite3的ROM,见nexus one更新第三方ROM。另外,想使用sqlite3访问程序私有目录下的文件,需要具备ROOT权限,见nexus one获取root权限。 如果这两条都具备了,可以开始使用。 日志引用查看sqlite3表结构的命令    发送文章为PDF   

星期二 三月 16th, 2010 in , , , | 2 Comments »

android使用sqlite3数据库(网络下载文件)

做了个简单的测试,用于android的sqlite3操作下载的sqlite3数据库文件。 是可以的,目前测试的仅是Cursor(游标)移动到结果集第一行,然后操作指定列的值。 代码: FileOutputStream outputStream = openFileOutput("mydb", 0); InputStream inputStream = response.getEntity().getContent(); byte[] data = new byte[bufferSize]; for (int i = inputStream.read(data); i > 0; i = inputStream         .read(data)) {     outputStream.write(data, 0, i); } SQLiteDatabase database = SQLiteDatabase         .openOrCreateDatabase(getFileStreamPath(fileName)                 .getAbsolutePath(), null); Cursor cursor = database.rawQuery("select * from users",         new String[] [...]

星期一 三月 15th, 2010 in , , , | 1 Comment »