我正在使用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);
}
我的方法可行吗?任何帮助将不胜感激。
答案 0 :(得分:1)
您可以按照here所述使用LIMIT
SQL关键字。
SELECT column_list FROM table LIMIT row_count OFFSET offset;
一个好的做法是搜索&#34; sqlite&#34;并且您在所有平台上作为移动SQL数据库寻找的SQL功能都基于sqlite,它有一些怪癖。