首页 文章

SQLite - 在Codename One for Java中选择文本并获取Textfield的值

提问于
浏览
1

我提出了一个关于移动应用程序数据存储在数据库中的问题,但不是我指定的数据库:

SQLite - no errors, however, no data uploaded to DB

我创建了另一个GUI元素来搜索数据库以获取用于测试目的的特定信息 .

CodeName One使用Database API . https://www.codenameone.com/javadoc/com/codename1/db/Database.html

遗憾的是,网上有很多很好的例子,但不是CodeName One .

Database db = null;
Cursor cur = null;

        try{

            Database ARdb = Display.getInstance().openOrCreate("RecordsDB.db"); 

            System.out.println("Connection secured to database.");

            ARdb.beginTransaction();

            String SelectRecords = "SELECT Last_Name, Phone, Email, Postcode 
            FROM TestRecord";

            cur = ARdb.executeQuery(SelectRecords);

            //This is where I'm trying to set the text of col Last_Name
            findTxtLastnSearch(c).setText(cur.getText("Last_Name"));

            ARdb.commitTransaction(); 

        } catch(Exception e){

            System.out.println("Error! Connection Failed to DB" 
            +e.getMessage());

        } finally {

            Util.cleanup (db);
            Util.cleanup(cur);

        }
    }

我已经选择了测试记录 . 我想现在将结果上传到textfields,但是,我无法弄清楚如何做到这一点 . 任何帮助将非常感谢 .

1 回答

  • 2

    从执行的查询中获得的不是单行,而是包含多行的游标,因此您需要遍历它并处理每一行 .

    查看第二个链接中的示例 . 像这样的东西

    int indexForLastName = cur.getColumnIndex("Last_Name");
    while(cur.next()) {
      Row row = cur.getRow()
      String lastname = row.getString(indexForLastName);
      //more stuff
    }
    

相关问题