2011-09-26 74 views
2

我在SQLite數據庫中查詢一些產品,但在2個不同的android基礎版本中返回不同的值。android-光標返回錯誤的值

選擇結果database.db3使用SQLite專家:

result

我創建這個代碼後選擇,測試:在Android 2.2的

 if(cursor.moveToFirst()){ 
      while(!cursor.isAfterLast()){ 
       log("CDPROD:" + cursor.getString(cursor.getColumnIndex("CDPROD"))); 
       cursor.moveToNext(); 
      } 
     } 

登錄結果:

09-26 14:30:08.947: INFO/LOGG(20497): CDPROD:000000000000211934 
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000211944 
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000212020 
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000212124 
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000214280 
09-26 14:30:08.967: INFO/LOGG(20497): CDPROD:000000000000212886 

Android 2.1下的日誌結果:

09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:211934 
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:211944 
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:212020 
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:212124 
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:214280 
09-26 14:18:16.772: INFO/LOGG(1039): CDPROD:212886 

這是Android中的一個bug?

+1

「CRPOD」列的數據類型是什麼? –

+0

爲該列設置了什麼類型的親和力? –

+0

CDPROD Varchar2(25) – Rodrigo

回答

0

您需要在您創建SQLiteTables爲列類型textstringvarchar使用。看來如果你把string它會trim你的領先zeros。另見SQLite Data Types

編輯:根據這answer: Versions of SQLite in Android,他們有不同SQLite versions

+0

Ok.But爲什麼android版本有這些差異? – Rodrigo