0

我正在尝试创建一个将在我的应用程序的其他部分中使用的公共字符串。我试图查看游标的使用,但我不知道它如何返回我想要的。我只需要这是一个公共方法来返回 rowId = 1 的列 email 的值。

我离基地有多远,请给我一些指示?这个方法在我的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;
}
4

2 回答 2

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 的值 :)

于 2012-05-25T19:12:26.197 回答
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输入参数说电子邮件和返回电子邮件。

于 2012-05-25T19:03:17.317 回答