SQLite返回错误的行数作为游标

时间:2012-02-24 11:25:20

标签: android sql sqlite listadapter

我在编写Android应用程序时遇到了一个奇怪的问题。

我有一个特别混乱的SQL(我正在整理过程中),它返回一个自定义listadapter的游标。

问题是通过使用SQLITEMAN调整我的代码的一部分我发现我从SQLITEMAN得到了正确的结果(因为我做了一些聚合)但是当我通过android运行它时我在我复制的数据库上没有得到任何结果直接从Android使用DDMS。

再次,是的,我知道代码很乱,但它确实得到了结果。如果代码实际上是问题,可以整理。

SELECT -1 as _id, 'player1|player2' as players, null as turntext, null as turnimage,30 as maxturns,19 as curturns 
union 
SELECT games._id,games.players,lastturn.turntext,lastturn.turnimage,games.maxturns,lastturn.curturns 
FROM games 
inner join (select _id,turntext,turnimage,t.gameid, tb.curturns from turns t inner join (select tb.gameid,count(tb._id) as curturns from turns tb group by tb.gameid) tb on tb.gameid = t.gameid where _id = (select max(_id) 
from turns where gameid = t.gameid )  group by t.gameid) lastturn  on lastturn.gameid = games._id  order by games._id desc
编辑:我重写了SQL,所以只有2个内部循环。毫不奇怪,这个问题仍然存在。

经过更多调查后,我现在有了一个新的领导:当我使用下面的代码插入条目时,我认为将返回值转换为int,虽然可以根据我的方法接受,但可能已经填满了提交价值......

ContentValues initialValues = new ContentValues(); 
initialValues.put(KEY_GAMEID,gameId); 
initialValues.put(KEY_TURNTEXT,text); 
initialValues.put(KEY_TURNIMAGE,imageBytes); 

return (int)mDb.insert(TABLE_NAME, null, initialValues); 

0 个答案:

没有答案