2012-05-17 18 views
2

你好我每個人都面臨這個問題,我太弱在DB 我寫了這段代碼來填充數據庫 現在我想複製數組裏面的數據打印出來arrayadapter 因爲我使用tabactivity,這是最好的解決辦法,我發現Android如何打印正常字符串數組內的sqlite數據?

public void insertIntoTable(){ 
     try{ 
      mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null); 
      mydb.execSQL("INSERT INTO " + TABLE + "(ID, NAME) VALUES("+Phno.getText()+",'"+PName.getText()+"')"); 

      mydb.close(); 
     }catch(Exception e){ 
      Toast.makeText(getApplicationContext(), "Error in inserting into table", Toast.LENGTH_LONG); 
     } 
    } 

,這是我想怎麼把它打印出來

mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null); 
     Cursor allrows = mydb.rawQuery("SELECT * FROM "+ TABLE, null); 
    String[] values = new String[] { "Iwant to put the cursor data here" }; 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, values); 
     setListAdapter(adapter); 
    } 

回答

3

我希望這會爲你工作

ArrayList<String> values = new ArrayList<String>(); 
mydb = openOrCreateDatabase(DBNAME, Context.MODE_PRIVATE,null); 
     Cursor allrows = mydb.rawQuery("SELECT * FROM "+ TABLE, null); 
allrows.moveFirst() 
while(allrows.moveToNext()){ 
     String name= allrows.getString(allrows.getColumnIndex("NAME")); 
     values.add(name); 
} 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, values); 
     setListAdapter(adapter); 
+0

感謝您的回覆,但有一個錯誤,說「更改類型的名稱爲int」 – 1093822

+0

我編輯了我的答案請現在試試,讓我knw – vnshetty

+0

非常感謝你的錯誤是從這一行allrows.getString (getColumnIndex(「NAME」)) 但我想問你一些問題如何通過按鈕或任何東西刷新列表如果我添加新行 – 1093822