如何从SQL数据库中删除

时间:2014-04-21 06:38:12

标签: java android sql

我正在尝试编写代码以从SQL数据库中删除事务。下面的函数添加了一个存款,另一个函数将其从SQL数据库中删除。当我尝试运行它时,它会从此行导致SQLLiteException:

TransactionDAO.removeTransaction(int, String) line: 154




public void addDeposit(int accountID, String transName, long efDate,
            double amount) {
        ContentValues tran = new ContentValues();
        tran.put(SQLHelper.COLUMN_ACCOUNTID, accountID);
        tran.put(SQLHelper.COLUMN_TRANSNAME, transName);
        tran.put(SQLHelper.COLUMN_ENTEREDTIMESTAMP, Calendar.getInstance()
                .getTimeInMillis());
        tran.put(SQLHelper.COLUMN_EFFECTIVETIMESTAMP, efDate);
        tran.put(SQLHelper.COLUMN_AMOUNT, amount);
        tran.put(SQLHelper.COLUMN_COMMITTED, 1);
        database.insert(SQLHelper.TABLE_TRANSACTION, transName, tran);
    }
public void removeTransaction(int accountID, String transName) {
        ContentValues tran = new ContentValues();
        database.delete(SQLHelper.TABLE_TRANSACTION, transName, null);
    }

我真的不知道如何解决这个问题。我很困惑如何在SQL数据库中找到确切的行。这可能是错误的原因。

1 个答案:

答案 0 :(得分:1)

根据public int delete (String table, String whereClause, String[] whereArgs),第二个参数是子句,你应该使用

database.delete(SQLHelper.TABLE_TRANSACTION, String.format("%s=?", SQLHelper.COLUMN_TRANSNAME), {transName});