也许这是一个简单的问题,但我只是没有看到它:)
在我的数据库中,我有两个名为NoRide和NoAttempt的字段。
在一行中,我有NoRide = 40和NoAttempt = 40。
使用以下方法直接在数据库中查询时,我没有任何问题:
SELECT * FROM MyTable WHERE NoRide = NoAttempt
然而在Android中,我在rawQuery语句中包含了这个确切的行,但我没有得到任何结果。同样,如果我做的事情
rawQuery(“SELECT * FROM MyTable WHERE NoRide - NoAttempt!='0'”,null);
当此查询在数据库查询中正常工作时,我也没有数据。
我在缺少与android中的rawQuery有什么不同吗?
答案 0 :(得分:1)
我不知道问题的第一部分(NoRide = NoAttempt)发生了什么,但我对第二个问题有所了解。
尝试从0中删除单引号...数据库可能认为您正在尝试将int与字符串进行比较。 Lise所以:
rawQuery("SELECT * FROM MyTable WHERE NoRide - NoAttempt != 0", null);
答案 1 :(得分:0)
试试这个
rawQuery("SELECT NoRide, NoAttempt FROM MyTable
WHERE IFNULL(NoRide,0) - IFNULL(NoAttempt,0) <> 0", NULL);