2017-03-29 8 views
0

こんにちは私は、2つのIDが一致したときにユーザーの電子メールアドレスを返す小さなSQLクエリをセットアップしました。今、私は非常に単純な問題を抱えています。人の名前ですが、私は選択肢を設定して、別のアクティビティにテキストを設定するのに少しだけ固執しています。私の現在のコードでは、私は1つの価値を設定することができますが、いくつかの指針はいいと思います。Android SQLが複数の行を取得して設定する

Handler.java

public String getContactDetails(int id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cursor = null; 
    String name = ""; 

    try { 
     cursor = db.rawQuery("SELECT email FROM person_list WHERE person_id=?", new String[] {id + ""}); 

     if(cursor.getCount() > 0) { 

      cursor.moveToFirst(); 
      name = cursor.getString(cursor.getColumnIndex("email")); 

      // how can I get another row? 


     } 
     return name; 
    }finally { 
     cursor.close(); 
    } 
} 

主な活動...

MyDatabaseHandler myDatabaseHandler = new MyDatabaseHandler(getApplicationContext(), null, null, 1); 

String email = myDatabaseHandler.getContactDetails(id); 

おかげ それは本当に簡単そうなものよりも多くのです。

答えて

0

cursorObject.moveToNext()を使用して次のデータを呼び出すことができます。このメソッドは、カーソルが結果セットの最後のエントリを既に超えている場合にfalseを返します。

Cursor Android Developer

public String getContactDetails(int id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cursor = null; 
    String name = ""; 

    try { 
     cursor = db.rawQuery("SELECT email FROM person_list WHERE person_id=?", new String[] {id + ""}); 

     if(cursor.getCount() > 0) { 

      if (cursor.moveToFirst()){ 
       do{ 
        name = cursor.getString(cursor.getColumnIndex("email")); 
       } while (cursor.moveToNext()); // more to next data. 
      } 
     } 
     return name; 
    }finally { 
     cursor.close(); 
    } 
} 
+0

[OK]をので、私は、例えば持つ他の行と別のcursor.getStringを行いますか人の名前とはどのように情報を設定するのですか? – Steven

+0

またリンクが動作しません – Steven

関連する問題