new*_*bie 5 database sqlite android opendatabase
我创建了一个静态方法来访问我的一个活动我的数据库,但我一直在打开数据库时遇到错误.
主要活动
public static String getStudentData() {
SQLiteDatabase sampleDB = null;
try {
//NOT WORKING
sampleDB = SQLiteDatabase.openDatabase("studentDB",null, SQLiteDatabase.CREATE_IF_NECESSARY);
//Also not working
//sampleDB = SQLiteDatabase.openOrCreateDatabase("studentDB", null);
Cursor c = sampleDB.rawQuery("SELECT * FROM student where id='1'", null);
if (c != null ) {
if (c.moveToFirst()) {
do {
//...
}while (c.moveToNext());
}
}
c.close();
} catch (Exception se ) {
} finally {
sampleDB.close();
}
}
Run Code Online (Sandbox Code Playgroud)
OtherActivity
String student = MainActivity.getStudentData();
Run Code Online (Sandbox Code Playgroud)
我一直在sqlite3_open_v2("studentDB", &handle, 6, NULL) failed.不能发现什么是错的......我也尝试过使用MODE_WORLD_WRITEABLE.目前MODE_PRIVATE用于数据库创建.请帮帮我!
第一个参数openDatabase应该是db的完整路径,所以如果:
//The Android's default system path of your application database.
private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/";
private static String DB_NAME = "studentDB";
Run Code Online (Sandbox Code Playgroud)
那你应该打电话:
sampleDB = SQLiteDatabase.openDatabase(DB_PATH + DB_NAME, null, SQLiteDatabase.CREATE_IF_NECESSARY);
Run Code Online (Sandbox Code Playgroud)
小智 5
使用方法ContextWrapper#getDatabasePath(java.lang.String)并将结果传递给SQLiteDatabase.openDatabase:
File dbFile= myActivity.getDatabasePath("studentDB");
sampleDB = SQLiteDatabase.openDatabase(dbFile.getAbsolutePath(), null, SQLiteDatabase.CREATE_IF_NECESSARY);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14750 次 |
| 最近记录: |