SQLite on BlackBerry 完美支持中文
在SQLite on BlackBerry上,JDBC访问数据库,缺省是以UTF-8保存数据到数据库里面的,每个中文通常是3个字节保存到数据库上面的。
例子代码参考:
BlackBerry sample - SQLiteDemo。
注意:在插入中文的时候,请使用Statement.bind指令,在我的测试中,可以很好的保存中文数据。读取的时候只需要使用ResultSet.getString()就可以了。
而直接使用拼接好的sql insert语句插入数据,可能会有插入中文乱码问题。
Statement statement = _db.createStatement("INSERT INTO Category VALUES(null, ?)");
statement.prepare();
statement.bind(1, name);
statement.execute();
statement.close();
参考:
1)sqlite
http://www.sqlite.org/download.html
2)SQLite Expert Personal is freeware and does not have an expiration date.(可以识别UTF-8编码的中文数据)
使用SQLite Expert Personal可以打开BlackBerry手机SD卡上的SQLite数据库,并且正常显示UTF-8编码的中文数据。This is just perfect for trouble shooting中文数据库。
http://www.sqliteexpert.com/download.html
3)sqlite admin(不能识别UTF-8编码的中文数据)
http://sqliteadmin.orbmu2k.de/
4)JDBC Driver for Windows(在eclipse 的perspective "Database Development" 中,使用SQL Scrapbook执行SQL语句可以正确创建表/插入/查看 中文数据)
http://www.zentus.com/sqlitejdbc/
http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC
相关文档:
sqlite数据库第三方java扩展包下载地址:http://www.zentus.com/sqlitejdbc/
有2个包,一个是nested(嵌入式的),一个是native(本地的)。
区别在于:nested 不需要额外的dll文件,但是速度慢。native需要一个额外的dll文件,速度很快。
1.使用nested包:sqlitejdbc-v037-nested.jar
java代码:
java 代码
packa ......
本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2009/0825/14358.php
SQLite是个典型的嵌入式DBMS,它有很多优点,它是轻量级的,在编译之后很小,其中一个原因就是在查询优化方面比较简单,它只是运用索引机制来进行优化的,经过对SQLite的查询优化的分析以及对源代码的 ......
先记下来:
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)) {
& ......
SQLite官方网站例子:
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
i ......