小编Tom*_*mer的帖子

插入时数据类型不匹配(代码 20)

在我的项目中,我使用 sqlite 数据库来保存图片及其位置。尝试将数据插入我的数据库时出现此错误:

E/SQLiteLog: (20) statement aborts at 5: [INSERT INTO PHOTO VALUES(NULL,?,?,?,?)] datatype mismatch
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.tomer.finalproject, PID: 18550
                  android.database.sqlite.SQLiteDatatypeMismatchException: datatype mismatch (code 20)
                      at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
                      at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:786)
                      at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:926)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

名为 SQLiteOpenHelper 的类中的插入方法:

public void insertData(String name, String lat, String lon, byte[] image) {

        SQLiteDatabase database = getWritableDatabase();
        String sql = "INSERT INTO PHOTO VALUES(NULL,?,?,?,?)";
        SQLiteStatement statement = database.compileStatement(sql);
        statement.clearBindings();
        statement.bindString(1, name);
        statement.bindString(2, lat);
        statement.bindString(3, lon);
        statement.bindBlob(4, image);

        statement.executeInsert();

} …
Run Code Online (Sandbox Code Playgroud)

sqlite android insert mismatch android-sqlite

2
推荐指数
1
解决办法
4785
查看次数

标签 统计

android ×1

android-sqlite ×1

insert ×1

mismatch ×1

sqlite ×1