我在素材资源文件夹中导入了一个数据库。 当我调用nextQuestion()方法时,我需要从数据库中检索第一个条目。 用户回答后,我需要再次加载nextQuestion()方法并从数据库中检索下一个条目。 我尝试了一下,但是没有用,我总是只能得到第一个条目:

String sql ="SELECT * FROM tblTable ORDER BY _ID ASC LIMIT 1";

还尝试了以下方法:

String sql ="SELECT * FROM tblTable ORDER BY _ID ASC";

===============>>#1 票数:0

当然,您总是只得到第一个,一次又一次地执行相同的查询。 如果数据不是很大,请使用第二个查询。 只需执行一次,并将所有行存储在内存中。 然后,您的nextQuestion()方法不再需要执行数据库查询。

===============>>#2 票数:0

我相信你需要同时使用你的第二个查询,捕捉到Resultset ,然后要么穿越它直接使用firstnextprevious等或在一个循环加载到ArrayList ,并使用它的方法。

===============>>#3 票数:0

尽管效率不高,但是您可以使用以下查询来获取下一个问题:

SELECT * 
FROM 
(
    SELECT * 
    FROM 
        questions 
    ORDER BY ID ASC LIMIT :questionNumber
) ORDER BY ID DESC LIMIT 1

:questionNumber是第n个有趣的问题。

例如: http ://sqlfiddle.com/#!7 / a20b8 / 4

===============>>#4 票数:0

您真正想要的是最小ID仍然大于先前ID的问题:

SELECT *
FROM tblTable
WHERE _ID > ?    -- insert previous ID here
ORDER BY _ID
LIMIT 1

===============>>#5 票数:0

->执行String sql ="SELECT * FROM tblTable ORDER BY _ID ASC"; 就一次,
->将数据保留在ArrayCollection中
->创建全局变量,whichQuestion:Number; //保留您所处的问题
->创建一个类似的方法

  nextQuestion(whichQuestion:Number):String //pass which question you want to ask
{
  return questionCollection[i];
} 

->然后whichQuestion + = 1;
->最后,当您需要提问时,只需调用nextQuestion()方法

  ask by marjanbaz translate from so

未解决问题?本站智能推荐: