2011-08-31 127 views
-1

我試圖瞭解如何將android中的SQL查詢結果保存到arraylist中。  其實我找到幾個問題,但他們都不能回答爲什麼我的代碼是錯誤的。  因此,這裏是我想要做的事:保存從SQL查詢到ArrayList的結果Android

 String query = null; 
     query = "SELECT * FROM users WHERE objectId = "+objectId+" AND serverName "+serverName; 

     SQLiteDatabase db; 

     // Insert results from query in database. 
     ArrayList <String[]> result = new ArrayList<String[]>(); 
     ResultSet rs = db.execSQL(query); 
     int columnCount = rs.getMetaData().getColumnCount(); 
     while(rs.next()) 
     { 
      String[] row = new String[columnCount]; 
      for (int i=0; i <columnCount ; i++) 
      { 
       row[i] = rs.getString(i + 1); 
      } 
      result.add(row); 
     } 

和錯誤是說,我不能轉換空隙的ResultSet。 任何建議如何解決這個問題或哪個是正確的方法來做到這一點。

在此先感謝

+0

複製光標:HTTP:// stackoverflow.com/questions/1354006/how-can-i-create-a-list-array-with-the-cursor-data-in-android – NSjonas

+0

'SQLiteDatabase db = null;'然後你調用'db.execSQL(查詢);'這不會工作...發佈完整的代碼。 – Squonk

+0

@NSjonas:爲什麼它是重複的? – Squonk

回答

1

一旦你的數據庫是開放的閱讀使用db.query或db.rawQuery來獲取可用於創建您的ArrayList

cursor = db.rawQuery(<query>, null); 
      if(cursor.getCount() > 0) 
      { 
       cursor.moveToFirst(); 
       //add to list here 
      }