String
에 String.format
이라는 SQLite 쿼리를 작성하고 SQLiteDatabase.rawQuery
으로 전달합니다. 끝에 전달하는 정수 매개 변수는 0으로 하드 코딩되어 있습니다 (저는 0보다 큰 값을 찾고 있습니다). 이것은 모든 테스트에서 정상적으로 작동하지만 현장에서 충돌 보고서를 받고 있습니다. 나에게 세부적인 시스템/환경 정보를주지 않는 크래시보고 웹 사이트를 사용하고 있습니다.SQLiteDatabase.rawQuery의 문자열 인코딩 오류
String query = String.format("SELECT * FROM %s WHERE %s > %d",
TableName,
ColumnName,
0);
Cursor c = db.rawQuery(query, null);
예외가 슬로우는 다음과 같습니다 :
android.database.sqlite.SQLiteException: no such column: Û°: , while
compiling: SELECT * FROM TableName WHERE ColumnName > Û°
와 충돌하기 전에 스택 추적의 마지막 몇 줄을 있습니다 : 여기에 충돌되는 코드입니다
SQLiteCompiledSql.java:-2:in android.database.sqlite.SQLiteCompiledSql.native_compile
SQLiteCompiledSql.java:68:in android.database.sqlite.SQLiteCompiledSql.<init>
SQLiteProgram.java:143:in android.database.sqlite.SQLiteProgram.compileSql
인코딩 오류 여야합니다. 그러나, 나는 이것이 무엇의 원인인지 말하는 방법을 모른다. 나는 데이터베이스를 만들고 연결하는 높은 수준의 방법으로 SQLiteOpenHelper
을 사용하고 있으므로 명시 적으로 인코딩을 설정하지는 않습니다. 또한 오류 보고서는 적지 만 ICS를 실행하는 장치에서만 제공되기 때문에 ICS의 SQLite 클래스에서 사용되는 기본값의 새로운 기능 일 수 있습니다.
안녕하세요, 저는 궁금 해서요 ... 이상한 인코딩 오류가 계속 나고 있습니까? –