【发布时间】:2010-06-23 13:56:06
【问题描述】:
我在 android 项目之外使用 eclipse 制作一个 sqlight
我应该在我的 android 清单中添加什么以使其正常工作?
谢谢 Mathias,让我们把这个 q 带到另一个使用 java 生成 SQL 文件的项目中
假设这一点。调用SQLiteDatabase.openDatabase()时如何设置SQLiteDatabase.NO_LOCALIZED_COLLATORS标志?
我的代码在那里
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
/*
*some code
*/
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists "+TABLE_NAME+";");
//stat.executeUpdate("create table "+TABLE_NAME+" (name, occupation);");
stat.executeUpdate("create table "+TABLE_NAME+" ("+VALUE+","+TYPE+","+LETTER+");");
PreparedStatement prep = conn.prepareStatement(
"insert into "+TABLE_NAME+" values (?, ?,?);");
即使我使用:
db = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.NO_LOCALIZED_COLLATORS);
当我使用查询时:
String s = "Israel";
Cursor cursor = db.query(TABLE_NAME, new String[] {VALUE}
,VALUE + " like " + "'%" + s +"%'", null, null, null, null);
我得到一个例外。
【问题讨论】:
-
好的,如果您在代码中不使用 SQLiteDatabase 和/或 SQLiteOpenHelper 而是使用本机 Java 方法,那么您最好手动在数据库中创建元数据表(尽管可以为空) .我建议尽管查看上述类,它们使在 Android 上使用 sqlite 更容易。我下面的方法假设您在打开数据库时使用 SQLiteDatabase 类。
-
谢谢你,Mathias 甚至认为我还在遭受这种情况,所以还是谢谢。