2012-04-26 9 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; 


    } 

तालिका स्तंभों का उपयोग स्ट्रिंग आइटम प्राप्त करने के लिए कैसे "आईडी, पिक, टिप्पणी"SQLite कर्सर

मैं स्ट्रिंग सरणी के लिए पिक & टिप्पणी के मूल्यों लेना चाहते हैं।

मेरे कोड है:

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

इस काम नहीं कर रहा।

+0

क्या त्रुटि मिला ?? –

उत्तर

10

आप इस तरह यह करना चाहिए:

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

और

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

2

और तुम क्या करना चाहिए

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

को बदलने के लिए

तक है
//c1.moveToFirst(); 
while(c1.moveToNext()){ 
    //your code 
} 
4

बस अपने लूप में moveToNext का उपयोग करें।

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

इस का प्रयोग करें। मुझे उम्मीद है इससे आपको मदद मिली होगी।

3

यह

मैं

getColumnIndex()

संख्या के बजाय

पसंद करते हैं जिस तरह से मैं यह कर रहा है।

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

हमेशा स्थिति के बजाय कॉलम नाम का उपयोग करें, क्योंकि कॉलम स्थिति बदल सकती है।

पाठ्यक्रम कॉलम नाम के साथ-साथ भी बदल सकता है लेकिन अगर आप एक नया कॉलम जोड़ते हैं और कॉलम 1 और कॉलम 2 के बीच स्थिति रखते हैं तो कहें। यदि आप संख्या का उपयोग करते हैं तो आपको अपना कोड बदलना होगा। लेकिन यदि आप नाम का उपयोग करते हैं, तो आप ठीक होंगे।

और इसे और अधिक पठनीय है और क्या हुआ अगर आप 40 कॉलम है? (< -कुछ कहते हैं, यह बुरा है)

+1

यह सबसे अच्छा और सरल जवाब है – DevMike