2012-01-25 85 views
6

我有一个数据库名称为“线索”(SQLite的Android设备)它有一个表HELLO包含一列NAME我可以得到价值来自该列的字符串。 让我告诉你我的代码段如何将数据库值到Android中(SQLite数据库)的字符串数组

myDB =hello.this.openOrCreateDatabase("CUED", MODE_PRIVATE, null); 
      Cursor crs = myDB.rawQuery("SELECT * FROM HELLO", null); 


      while(crs.moveToNext()) 
      { 
       String uname = crs.getString(crs.getColumnIndex("NAME")); 
       System.out.println(uname); 
} 

它将由one.Now打印值一个我需要的是,我想从数据库,这样我可以将其存储在一个字符串数组的列值。

回答

25

你已经做了最困难的部分...数组的东西很简单:

String[] array = new String[crs.getCount()]; 
int i = 0; 
while(crs.moveToNext()){ 
    String uname = crs.getString(crs.getColumnIndex("NAME")); 
    array[i] = uname; 
    i++; 
} 

不管结果如何,我总是建议使用集合的情况下是这样的:

List<String> array = new ArrayList<String>(); 
while(crs.moveToNext()){ 
    String uname = crs.getString(crs.getColumnIndex("NAME")); 
    array.add(uname); 
} 

为了比较阵列,你可以做这样的事情:

boolean same = true; 
for(int i = 0; i < array.length; i++){ 
    if(!array[i].equals(ha[i])){ 
     same = false; 
     break; 
    } 
} 
// same will be false if the arrays do not have the same elements 
+0

谢谢现在老兄能不能帮我一次,我有另一个字符串数组我想数组中的两个值进行比较,让我解释我的第一个数组--- String [] ha = {“hello”,“hai”};和String数组----数据库---- String [] array = {“hello”,“hai”};我想检查两个数组的每个位置是否都一样让我进入下一页 – Ramz

+0

好,但是如果需要只从一行中获取所有列值才能形成字符串数组意味着该怎么办? – Subha

+0

非常感谢你!它适用于我:D – alireza71

0
 String[] str= new String[crs.getCount()]; 
     crs.movetoFirst();   
    for(int i=0;i<str.length();i++) 
     { 
      str[i] = crs.getString(crs.getColumnIndex("NAME")); 
      System.out.println(uname); 
     crs.movetoNext(); 
     } 

享受它

+0

您并未移动光标位置。 – Cristian

0

这是我的代码,返回ArrayList的更远包含值:

public ArrayList<String> getAllPlayers() { 

    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cur = db.rawQuery("SELECT " + serailnumber + " as _id, " + title 
      + " from " + table, new String[] {}); 
    ArrayList<String> array = new ArrayList<String>(); 
    while (cur.moveToNext()) { 
     String uname = cur.getString(cur.getColumnIndex(title)); 
     array.add(uname); 

    } 
    return array; 
} 
相关问题