SQLite语句在数据库编辑器中工作,但不在Android中

时间:2012-04-01 16:28:25

标签: android sqlite

也许这是一个简单的问题,但我只是没有看到它:)

在我的数据库中,我有两个名为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有什么不同吗?

2 个答案:

答案 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);