2012-06-15 110 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 
相关问题