1
我想建立一個方法來確定在插入之前用戶是否存在於Android sqlite數據庫中,我試圖建立這個方法來返回行數,但是如果我嘗試這樣Android sqlite返回查詢行數
String[] columns = new String[] { SCREEN_NAME, NAME, PROFILE_IMAGE_URL,
USER_ID };
Cursor c = friendsDatabase.query(DATABASE_TABLE, columns, SCREEN_NAME
+ " LIKE '" + screenName + "%'", null, null, null, null);
c.moveToFirst();
Integer count= c.getCount();
c.close();
return count;
我得到的行數返回沒問題,不過分鐘我期待這樣的
String[] columns = new String[] { SCREEN_NAME, NAME, PROFILE_IMAGE_URL,
USER_ID };
Cursor c = friendsDatabase.query(DATABASE_TABLE, columns, SCREEN_NAME
+ " = '" + screenName + "'", null, null, null, null);
c.moveToFirst();
Integer count= c.getCount();
c.close();
return count;
完全匹配像匹配的搜索,我得到0行每次不管它匹配與否,林不知道如果我的SQL或也許我使用了錯誤的參數做出的聲明,任何幫助將很長的路要走感謝
你爲什麼使用LIKE?你的LIKE查詢正在尋找一個前綴匹配,而不是象'='那樣的完整匹配。您最好在屏幕名稱列上添加適當的唯一約束並捕獲異常。 –
我正在使用LIKE作爲我得到的工作的一個例子,我需要的是爲完全匹配而返回的行數,但是我似乎無法在第二個示例中獲得該工作 –
您是否擁有該屏幕名稱在你的數據庫?數據庫中的屏幕名稱和您查詢的屏幕名稱僅在不同情況下有所不同? –