android - 光标返回错误的值

时间:2011-09-26 17:49:04

标签: android

我在SQLite数据库中查询一些产品,但在2个不同版本的android版本中返回不同的值。

使用SQLite Expert:

在database.db3中选择结果

result

我在select之后创建了这段代码来测试:

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

android 2.2中的日志结果:

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中的一个错误?

1 个答案:

答案 0 :(得分:0)

在创建text时,您需要使用列类型string而不是varcharSQLiteTables。看来,如果你放string它会trim你的领先zeros。另请参阅SQLite Data Types

编辑:根据此answer: Versions of SQLite in Android,他们有不同的SQLite versions