SQLite-选择文本并获取代码名One for Java中Textfield的值

SQLite-选择文本并获取代码名One for Java中Textfield的值,java,sqlite,codenameone,Java,Sqlite,Codenameone,我提出了一个关于存储在数据库中的移动应用程序数据的问题,但不是我指定的数据库: 我创建了另一个GUI元素来搜索数据库中的特定信息,以进行测试 CodeName One使用数据库API 不幸的是,网上有很多很好的例子,但是,与代号一无关 Database db = null; Cursor cur = null; try{ Database ARdb = Display.getInstance().openOrCreate("RecordsDB.db"

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

我创建了另一个GUI元素来搜索数据库中的特定信息,以进行测试

CodeName One使用数据库API

不幸的是,网上有很多很好的例子,但是,与代号一无关

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,但是我不知道怎么做。非常感谢您的帮助。

您从执行的查询中得到的不是一行,而是一个包含多行的游标,因此您需要在其上循环并处理每一行

请看第二个链接中的示例。像这样的

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

行:String lastname=row.getString(“Last_Name”);-我无法转换为int?谢谢你的帮助,顺便说一句,是的,getString接受int而不是string,我错了。老实说,这就是我在使用代码时经常遇到的错误。我将尝试其他一些方法。我想一种方法是从游标方法getColumnIndex获取索引。我更新了我的答案,在你问题的第二个链接中,选择顶部的“框架”,然后在左栏的“所有类”下找到指向光标和行的文档链接