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();

あなたのメソッドでそれを使用し、文字列メールの値を返します:)

于 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 に答える