2012-06-15 113 views
0

我需要將列與字符串進行比較的幫助。 android數據庫中有一列,它以字符串形式存儲和關閉。我需要將列與「On」字符串進行比較,如果在該列中有任何On,我需要它返回true,並且如果數據庫中沒有on返回false,我該如何執行此操作?將列與數據庫中的字符串進行比較?

我的代碼

公共布爾的QuickTime(){

 String myQuery = "SELECT * FROM DATABASE_TABLE_QUICK WHERE ALARM_ID_QUICK LIKE 'On' "; 
     Cursor mCursor = databaseConnect.rawQuery(myQuery, null); 
     if(mCursor.getCount()>0) //if at least one record contains 'on' 
      return true; 
     else 
      return false; //no record was found with the word 'on' 
    } 
+0

您需要比較列名或列中的記錄嗎? – Raykud

+0

我需要比較列中的所有記錄,如果它們中的一個或多個等於「開」,它應該返回true其他明智的返回false – bob

回答

0

一個簡單的(不是最好的)的方式來做到這一點是與Rawquery。 所以你必須做的是一樣的東西:

private boolean containsOn(SQLiteDatabase mSQLiteDatabase){ 
    String myQuery = "SELECT * FROM MYTABLE WHERE status LIKE 'on' "; 
    Cursor mCursor = mSQLiteDatabase.rawQuery(myQuery, null); 
    mCursor. 
    if(mCursor.getCount()>0) //if at least one record contains 'on' 
     return true; 
    else 
     return false; //no record was found with the word 'on' 
} 

所有你需要做的就是通過你的sqlLite數據庫,更改表名稱,然後爲列名的狀態欄。

+0

謝謝我添加了一些代碼到我的帖子,我試圖使用但無法工作 – bob

+0

那麼你在比較「遊標」,如果它> 0但它不是遊標,它的計數就像它在我的「if」代碼中那樣。 只是將其更改爲: return databaseConnect.query(DATABASE_TABLE_QUICK,ALARM_MODE +「=」+ ison,null).getCount()> 0; – Raykud

+0

噢再次,再次感謝 – bob

0
sqlite> create table on_c(id int,onoff varchar(3)); 
sqlite> insert into on_c (id,onoff)values(1,'ON'); 
sqlite> insert into on_c (id,onoff)values(2,'OFF'); 
sqlite> select * from on_c; 
1|ON 
2|OF 
select case count(*) when 0 then 'true' else 'false' end from on_c where onoff like '%N'; 
false 
相關問題