2012-04-26 6 views
5
public Cursor getImages(long rowId) throws SQLException 
    { 
     Cursor mCursor = 
       db.rawQuery("select * from Pictures WHERE id=" + rowId + ";", null); 
     if (mCursor != null) { 
      mCursor.moveToFirst(); 
     } 
     return mCursor; 


    } 

kolumn tabeli „id, pic, komentarz”Sqlite sposób, aby elementy ciągów za pomocą kursora

chcę wziąć wartości pic & komentarzu do tablicy ciągów.

Mój kod to:

int i=0; 
     Cursor c1 = db.getImages(memberId);  
     c1.moveToFirst(); 
     while(c1.isLast()){ 
      pictures[i]=c1.getString(1); 
      comments[i]=c1.getString(2); 
      i++; 
     } 

to nie działa.

+0

Jaki błąd masz ?? –

Odpowiedz

10

Należy to zrobić tak:

c1.getString(cursor.getColumnIndex("pic"));

i

c1.getString(cursor.getColumnIndex("comment"));

2

i co należy zrobić, to wymienić

c1.moveToFirst(); 
while(c1.isLast()){ 
    //your code 
} 

Przez

//c1.moveToFirst(); 
while(c1.moveToNext()){ 
    //your code 
} 
4

po prostu użyj moveToNext w pętli do iteracji.

while(ct.moveToNext()){ 
    pictures[i]=c1.getString(1); 
    comments[i]=c1.getString(2); 
    i++; 
} 
1
Cursor c = db.rawQuery("select username from user_information where username ='" + username_txt.getText() + "'", null); 
c.moveToFirst(); 
if (c.moveToFirst()) { 
    username = c.getString(c.getColumnIndex("username")); 
} 

Użyj tego. Mam nadzieję, że Ci to pomoże.

3

ten sposób to zrobić

Wolę

getColumnIndex()

zamiast numeru.

if(cursor.moveToFirst()){ 
    do{ 
      String varaible1 = cursor.getString(cursor.getColumnIndex("column_name1")); 
      String varaible2 = cursor.getString(cursor.getColumnIndex("column_name2")); 

     }while (cursor.moveToNext()); 
} 
cursor.close(); 

Zawsze używaj nazwy kolumny zamiast pozycji, ponieważ pozycja kolumny może się zmienić.

oczywiście nazwa kolumny również może ulec zmianie, ale powiedzmy, jeśli dodasz nową kolumnę i jej położenie między kolumną 1 a kolumną 2. Musisz zmienić kod, jeśli używasz numeru. Ale jeśli użyjesz imienia, nic ci nie będzie.

i jest bardziej czytelne i co się stało, jeśli masz 40 kolumn? (< -SOMe powiedzieć, że jest zły)

+1

To jest najlepsza i prosta odpowiedź – DevMike

Powiązane problemy