2012-01-25 15 views
6

tengo un nombre de base de datos "CUED" (Android sqlite) que tiene un hola mesa que contienen una columna NOMBRE puedo obtener el valor a Cadena de esa columna. Te voy a enseñar mi sección de códigocómo obtener el valor de la base de datos a una matriz de cadenas en Android (base de datos 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); 
} 

Se imprimirá el valor de uno en one.Now lo que necesito es que quiero para obtener los valores de las columnas de base de datos y para que pueda almacenarla en una matriz de cadenas .

Respuesta

25

que ya hizo la parte difícil ... el material matriz es bastante simple:

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

Lo que sea, yo siempre recomiendo utilizar colecciones en casos como éste:

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

Con el fin de comparar las matrices, se pueden hacer cosas como esta:

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

agradecimiento bro ahora me puede ayudar una vez más tengo otra matriz de cadenas quiero comparar tanto el valor de la matriz dejar explico mi primer matriz --- String [] ha = {"hello", "hai"}; y String array desde la base de datos ---- String [] array = {"hello", "hai"}; Quiero verificar cada posición de ambas matrices si ambas son iguales, déjenme ingresar a la página siguiente – Ramz

+0

Bueno, pero si necesita obtener todos los valores de columna de una sola fila para formar la matriz de cadenas, ¿cómo hacerlo? – Subha

+0

¡Muchas gracias! funcionó para mí: 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(); 
     } 

Disfrútalo

+0

No estás moviendo la posición del cursor. – Cristian

0

Este es mi código que devuelve ArrayList contiene lejos valor:

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; 
} 
Cuestiones relacionadas