2013-04-15 4 views
1

I défini une table sql:sql android-hébreu

 ... 

     customersDB2.execSQL("INSERT INTO " + TABLE_NAME + " Values (86, 'This ', 'זה ');"); 
     customersDB2.execSQL("INSERT INTO " + TABLE_NAME + " Values (87, 'most ', 'ביותר ');"); 
     customersDB2.execSQL("INSERT INTO " + TABLE_NAME + " Values (88, 'use ', 'uu ');"); 


..... 


    } 
    catch (SQLiteException se) { 
     Log.e(getClass().getSimpleName(), "Could not create records"); 
    } 
} 

Je lsinitialisez sur "onCreate":

public void onCreate(Bundle savedInstanceState) { 
    try { 
     customersDB2 = this.openOrCreateDatabase( DB_NAME, MODE_PRIVATE, null); 


     customersDB2.execSQL("CREATE TABLE " + 
       TABLE_NAME + 
       " (Block INT," + 
       " Name VARCHAR, Street VARCHAR);"); 
     mFillDbsTable();} 
    catch (SQLiteException se) { 
     Log.e(getClass().getSimpleName(), "create/Open the database problem"); 


    } 

Mon problème est que c.moveToFirst() retourne toujours faux. Ce problème a été résolu lorsque j'ai changé l'hébreu en anglais. Je pourrais le réparer?

Cursor c = customersDB2.rawQuery("SELECT * FROM " + 
      TABLE_NAME +" where Block == 88", null); 


    if (c != null) { // this return true 

     if (c.moveToFirst()) { //this return false 
      do { 
       Toast.makeText(this,"null1",Toast.LENGTH_SHORT).show(); 
       name = c.getString(c.getColumnIndex("Name")); 
       street = c.getString(c.getColumnIndex("Street")); 

       results.add(name + ", " + street); 
      }while (c.moveToNext()); 
     } 
    } 

Le journal est vide.

Répondre

0

après l'exécution surcreate. vérifiez la table en utilisant "sqlite manager" ou un autre outil, pour voir si le tableau contient réellement les lignes que vous attendez