SQLite的公共字符串

时间:2012-05-25 18:58:45

标签: android sqlite

我正在尝试创建一个将在我的应用的其他部分中使用的公共字符串。我试图检查游标的使用,但我无法找到它将如何返回我想要的。我只需要这是一个公共方法来返回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;
}

2 个答案:

答案 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 ,输入参数表示电子邮件并返回电子邮件。