我正在尝试创建一个将在我的应用的其他部分中使用的公共字符串。我试图检查游标的使用,但我无法找到它将如何返回我想要的。我只需要这是一个公共方法来返回rowId = 1的列电子邮件的值。
我离这个基地有多远,请给我一些指示?此方法位于我的DatabaseHandler
类
public String getUserName(String email) {
SQLiteDatabase db = this.getReadableDatabase();
String memail =
db.rawQuery("SELECT _email FROM login WHERE key_id = 1;", null);
return memail;
}
答案 0 :(得分:1)
使用游标:
String q = "SELECT * FROM login where(key_id = 1)";
Cursor c = db.rawQuery(q, null); // db is a object of SQLiteDatabase type
然后检索值列电子邮件,如:
if(c.getCount() == 0)
{
//No entry found
}
else {
c.moveToFirst();
do {
String mail = c.getString(c.getColumnIndex("email"));
} while (c.moveToNext());
c.close();
在您的方法中使用它并返回String mail的值:)
答案 1 :(得分:0)
您需要使用光标如下:
public String getUserName(String email) {
String email = null;
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery("SELECT _email FROM login WHERE key_id = 1;", null);
if(c.moveToFirst())
email = c.getString(0);
c.close();
return email;
}
但你的方法签名有点奇怪。您的方法显示 getUserName ,输入参数表示电子邮件并返回电子邮件。