2013-04-15 33 views
1

我定義的SQL表:SQL在Android的希伯來語

 ... 

     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"); 
    } 
} 

我初始化它的 「的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"); 


    } 

我的問題是c.moveToFirst()總是返回false。當我將希伯來語更改爲英語時,此問題得到解決。我能修復它嗎?

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()); 
     } 
    } 

日誌爲空。

回答

0

運行後創建。 使用「sqlite manager」或其他工具 檢查表格以查看錶格是否實際包含您期望獲得的行