Codename One Database打印行范围

时间:2017-10-01 23:57:13

标签: database selection codenameone

我正在使用Codename One从数据库中获取数据并将其显示在表中。

这功能很好,现在我正在尝试添加一项限制表格中显示的项目数量的功能。为此,我想从数据库中检索选定数量的列。

不幸的是,常见的java sql操作似乎不起作用。以下是我到目前为止的情况。所有方法都不会丢失任何错误,但也不会显示所需的范围。获得选择的另一种方法可能是ArrayList,但我非常希望坚持使用直接方法,因为这似乎是相对简单和优雅的解决方案。

    db = display.getInstance().openOrCreate("MyDB.db");
    db.execute("CREATE TABLE IF NOT EXISTS Termine (Date NOT NULL,Event NOT NULL, Date_String NOT NULL)");

    // prints the entire number of items from the database
    cur = db.executeQuery("select * from (select * from Termine order by Date) where Date >= 5;");

    // doesn't print anything
    cur = db.executeQuery("SELECT * from ( select m.*, Date r from Termine m ) where r > 4 and r < 10;");

    // doesn't print anything
    cur = db.executeQuery("SELECT * from ( select m.*, Date r from Termine m ) where r BETWEEN 5 AND 10;");

    while (cur.next()) {

        Row currentRow = cur.getRow();

        String event = currentRow.getString(1);

        System.out.println(event);

    }

我的方法可行吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以按照here所述使用LIMIT SQL关键字。

SELECT column_list FROM table LIMIT row_count OFFSET offset;

一个好的做法是搜索&#34; sqlite&#34;并且您在所有平台上作为移动SQL数据库寻找的SQL功能都基于sqlite,它有一些怪癖。