SQLite-选择文本并获取代码名One for Java中Textfield的值
我提出了一个关于存储在数据库中的移动应用程序数据的问题,但不是我指定的数据库: 我创建了另一个GUI元素来搜索数据库中的特定信息,以进行测试 CodeName One使用数据库API 不幸的是,网上有很多很好的例子,但是,与代号一无关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"
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获取索引。我更新了我的答案,在你问题的第二个链接中,选择顶部的“框架”,然后在左栏的“所有类”下找到指向光标和行的文档链接