2012-05-17 16 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