2011-09-26 25 views
2

私はSQLiteデータベースでいくつかの製品を照会していますが、2つの異なるアンドロイドのバージョンで同じベースが異なる値を返します。 SQLiteのエキスパートを使用してdatabase.db3でアンドロイド - 間違った値を返すカーソル

選択結果:アンドロイド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 
私は後にこのコードを作成

result

選択し、テストへ

ログ結果in 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のバグですか?

あなたはあなたのSQLiteTablesを作成するときに、列タイプtextないstringまたはvarcharとして使用する必要があるのTy

+1

'CRPOD'カラムのデータ型は? –

+0

その列にはどのようなタイプの類似性が設定されていますか? –

+0

CDPROD Varchar2(25) – Rodrigo

答えて

0

stringを入れれば、trimあなたの先導zerosとなります。また、SQLite Data Typesを参照してください。

編集:このanswer: Versions of SQLite in Androidによれば、それらは異なるSQLite versionsを有する。

+0

Ok.Butなぜこれらの違いはアンドロイドのバージョンですか? – Rodrigo

関連する問題