2016-03-28 11 views
-1

私は2列(productnameanswer)のテーブルを持っています。 数字を入力すると、カーソルがその行に移動してそのデータを取得する必要があります。例えば 、IはQuestionIDに数として5を得た場合、 c1カーソルがc2カーソルが列answerで5セルに行くべき カラムproductnameで5番目のセルに移動しなければなりません。行を選択してデータを取得する(Android Studio SQLlite)

以下のコードを見てください...

public void getexactrow(String QuestionID){ 
    this._QuestionID=QuestionID; 

    SQLiteDatabase db = getWritableDatabase(); 
    String colomn1 = "SELECT " +COLUMN_PRODUCTNAME+ " FROM " + TABLE_PRODUCTS + " WHERE 1"; 
    String colomn2 = "SELECT " +COLUMN_ANSWER+ " FROM " + TABLE_PRODUCTS + " WHERE 1"; 

    Cursor c1 = db.rawQuery(colomn1, null); 
    Cursor c2 = db.rawQuery(colomn2, null); 

    c1.move(Integer.parseInt(_QuestionID)); 
    c2.move(Integer.parseInt(_QuestionID)); 

    if (c1.getString(c1.getColumnIndex("productname")) != null) { 
     _SendQuestion = c1.getString(c1.getColumnIndex("productname")); 

    } 

    if (c2.getString(c2.getColumnIndex("answer")) != null) { 
     _SendAnswer = c2.getString(c2.getColumnIndex("answer")); 

    } 
} 
+0

これは私の文字列リストです プライベートstatic final int DATABASE_VERSION = 1; プライベート静的最終文字列DATABASE_NAME = "qulo.db"; パブリックstatic final String TABLE_PRODUCTS = "que"; public static final String COLUMN_ID = "_id"; public static final String COLUMN_PRODUCTNAME = "プロダクト名"; public static final String COLUMN_ANSWER = "答え"; –

+0

あなたは直面している問題は何ですか? – UMESH0492

+0

私はQuestionIDに2を与えるとき。 c1カーソルが第2列の第1行に移動する。第1列の第2列ではない。 ご返信ありがとうございます –

答えて

1

更新、コードの下の例に取って、単一のカーソルを使用し、値として1

public void getexactrow(String QuestionID){ 

SQLiteDatabase db = getWritableDatabase(); 
String colomn1 = "SELECT " +COLUMN_PRODUCTNAME+ ","+COLUMN_ANSWER+" FROM " + TABLE_PRODUCTS; 
Cursor c1 = db.rawQuery(colomn1, null); 

c1.move(Integer.parseInt(QuestionID)); 

if (c1.getString(c1.getColumnIndex("productname")) != null) { 
    _SendQuestion = c1.getString(c1.getColumnIndex("productname")); 
} 

if (c1.getString(c1.getColumnIndex("answer")) != null) { 
    _SendAnswer = c1.getString(c1.getColumnIndex("answer")); 

} 
でwhere句を削除するとコード
関連する問題