2016-03-28 8 views
-1

Ich habe eine Tabelle mit zwei Spalten (productname und answer). Wenn ich eine Zahl eingeben, muss der Cursor zu dieser Zeile gehen und diese Daten abrufen. Zum Beispiel, wenn ich 5 als Nummer QuestionID geben, der c1 Cursor auf die fünfte Zelle in Spalte productname und der c2 Cursor in der Spalte auf der 5. Zelle gehen sollte answer gehen sollte.Wählen Sie eine Zeile und Daten (Android Studio SQLlite)

Bitte schauen Sie auf den Code unten ...

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

Dies ist meine String-Liste private statische final int DATABASE_VERSION = 1; private statische letzte Zeichenfolge DATABASE_NAME = "qulo.db"; public static final Zeichenfolge TABLE_PRODUCTS = "que"; public static final Zeichenfolge COLUMN_ID = "_id"; public static final Zeichenfolge COLUMN_PRODUCTNAME = "productname"; public static final Zeichenfolge COLUMN_ANSWER = "answer"; –

+0

Was ist das Problem, vor dem Sie stehen? – UMESH0492

+0

wenn ich 2 zu QuestionID gebe. c1 Cursor springt in die erste Zeile des zweiten colomn.not die zweite Zeile der ersten Spalte. danke für Ihre Antwort –

Antwort

1

Aktualisieren Sie den Code mit folgenden Code in Beispiel genommen wird, mit einzelnen Cursor und Entfernen von where-Klausel mit 1 als Wert

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

} 
Verwandte Themen