我有一個方法,我想傳遞一個字符串到它並搜索數據庫的匹配。我是數據庫的新手,所以我在我的智慧結束。我一直在使用googling並嘗試不同的查詢幾天,現在它不工作。遊標創建得很好,所以我不認爲查詢有任何語法問題。遊標不爲空,那裏有一個Cursor對象,並且裏面也有3列。但是沒有行。當我傳入一個字符串時,我知道應該有一個匹配它只是不返回任何數據。下面是方法:SQLite數據庫搜索不返回行
public Business getBusiness(String search) {
File database=currentContext.getDatabasePath(DATABASE_NAME);
SQLiteDatabase db = SQLiteDatabase.openDatabase(database.getAbsolutePath(),
null, Context.MODE_PRIVATE);
Cursor cursor = db.query(TABLE_NAME, new String[] {COLUMN_ONE, COLUMN_TWO,
COLUMN_THREE}, COLUMN_ONE + " like ' " + search + " '",
null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
Business business = new Business(currentContext, cursor.getString(0),
cursor.getString(1), cursor.getString(2),
cursor.getInt(3), cursor.getInt(4));
db.close();
return null;
}
感謝,我會檢查出來。我已經閱讀了一些教程,並且對getReadableDatabase()和getWritableDatabase()有個疑問。我試圖使用這些方法來連接數據庫,但是我遇到了問題,因爲兩者似乎都在調用onCreate(),它會調用數據庫創建代碼,然後拋出一個異常,因爲數據庫已經存在。這些方法是否應該調用onCreate()? – 2012-08-07 13:44:25
將getWritableDatabase()方法調用到您的DbHelper類的構造函數中。 – Yash 2012-08-08 04:17:30