java - SQLITE UPDATE OR INSERT 语句不想执行

标签 java sqlite sql-update

public synchronized void saveMatchValue(int photoRecOwner,
        int[] photoRecAssign, float[] value) {
    SQLiteDatabase database = databaseHelper.getWritableDatabase();
    database.beginTransaction();
    String sql = " UPDATE " + TypeContract.CTablePhotoMatch.TABLE_NAME
            + " SET " + TypeContract.CTablePhotoMatch.VALUE + "=? "
            + " WHERE " + TypeContract.CTablePhotoMatch.FK_OWNER
            + "=? AND " + TypeContract.CTablePhotoMatch.FK_ASSIGN + "=? ;"
            + " INSERT OR IGNORE INTO "
            + TypeContract.CTablePhotoMatch.TABLE_NAME + "("
            + TypeContract.CTablePhotoMatch.FK_OWNER + ","
            + TypeContract.CTablePhotoMatch.FK_ASSIGN + ","
            + TypeContract.CTablePhotoMatch.VALUE + ") VALUES (?, ?, ?);";

    SQLiteStatement stmt = database.compileStatement(sql);

    try {

        int rows = photoRecAssign.length;
        for (int i = 0; i < rows; i++) {

            if (photoRecOwner > photoRecAssign[i]) {
                stmt.bindLong(1, photoRecOwner);
                // stmt.bindLong(index, value)
                stmt.bindLong(2, photoRecAssign[i]);

            } else {
                stmt.bindLong(1, photoRecAssign[i]);
                stmt.bindLong(2, photoRecOwner);

            }
            stmt.bindDouble(3, value[i]);

            stmt.execute();
            stmt.clearBindings();

        }
        database.setTransactionSuccessful();
    } finally {
        stmt.close();
        // updtStmt.close();
        database.endTransaction();
        // database.close();
    }
}

没有错误和编译错误,

不知道sql语句语法是否正确:具体:; ,但如果没有编译错误,则不会执行插入和(可能是更新)命令...... 我可以捕获更多详细信息吗?(sqlite 语句)以找出错误

最佳答案

您只能使用SQLiteStatement来执行单个语句。 ;后面的SQL不执行。

拆分SQL以分别执行语句。

关于java - SQLITE UPDATE OR INSERT 语句不想执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30014360/

相关文章:

MySQL:使用来自查询的信息创建一个新表

mysql - 如果存在则更新否则插入mysql

php - MySQL 在一个查询中合并两个更新查询

java - 使用 Bouncy CaSTLe 的 ElGamal 同态乘法

java - Android Consumer IR Manager 必须是 : 之一

java - 创建 SpecificDatumWriter<T> 时出现 NullPointerException

mysql - 有什么方法可以防止失败的 'INSERT OR IGNORE' 上的 AUTOINCREASE 吗?

sqlite - 从 sqlite3 中的 url 中提取站点/域名

iphone - 尝试使用 SQLite 包装器 FMDatabase 时出错

java - restTemplate.getForObject ("URL", Object[].class) 可以返回 NULL 吗?