2017-07-19 68 views
0

最後一排,我想記錄的數據保存到字符串數組和字符串數組保存到列表列表<String[]>只返回表

我的代碼:

public List<String[]> getAllRecords(String table){ 
     try { 
      List<String[]> list = new ArrayList<>(); 
      String query = "SELECT * FROM " + table; 
      openDatabase(); 
      Cursor cursor = database.rawQuery(query,null); 
      int count = cursor.getColumnCount(); 
      String[] record = new String[count]; 
      if(cursor.moveToFirst()){ 
       do { 
        for (int i = 0; i < count; i++) { 
         record[i] = cursor.getString(i); 
        } 
        list.add(record); 
       }while (cursor.moveToNext()); 
      } 
      //log for test list content 
      int a = list.size(); 
      for (int i=0;i<a;i++){ 
       String[] s = list.get(i); 
       for (int j = 0;j<s.length; j++){ 
        Log.i(TAG, "getAllRecords: "+s[j]); 
       } 
      } 
      return list; 
     }catch (Exception e) {return null;} 
    } 

只是最後一個記錄添加到列出10次​​!

07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.369 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: 12 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: name9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: biography9 
07-19 17:13:23.373 10170-10170/com.package.app I/Tag:Database: getAllRecords: null 

我怎麼能解決這個問題,或者怎樣可以得到所有的記錄,並保存至清單?

+0

move'record = new String [count];''inside'do' –

+2

@Pavneet_Singh謝謝,問題解決了。我有些古怪:D –

回答

2

您需要創建在查詢結果中環路在記錄內record陣列:

if(cursor.moveToFirst()){ 
    do { 
     String[] record = new String[count]; 
     for (int i = 0; i < count; i++) { 
      record[i] = cursor.getString(i); 
     } 
     list.add(record); 
    }while (cursor.moveToNext()); 
} 

不這樣做,你使用一個record陣列, 併爲每一行您覆蓋它的內容, 並重新添加到list

0

將您的list.add(record);移動到您的循環中。這樣的代碼。

if(cursor.moveToFirst()){ 
    do { 
     for (int i = 0; i < count; i++) { 
      record[i] = cursor.getString(i); 
      list.add(record); 
     } 
    }while (cursor.moveToNext()); 
} 

我希望能解決您的問題。