0
我試圖下面的代碼數據庫不存儲查詢
mDb.beginTransaction();
String updateQuery ="INSERT INTO MAAccounts(userId, accountId, accountType, accountName, parentAccountId, currencyCode, isTransactionDefaultStatusOpen, currentBalance, monthlyBudget, createdOn, updatedOn) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
String[] valVars = {
stringToDB(account.userId),
integerToDB(account.accountId).toString(),
integerToDB(account.accountType.getValue()).toString(),
stringToDB(account.accountName),
integerToDB(account.parentAccountId),
stringToDB(account.currencyCode),
boolToDB(account.isTransactionDefaultStatusOpen).toString(),
CurrencyToDB(account.currentBalance).toString(),
CurrencyToDB(account.monthlyBudget).toString(),
dateToDB(now),
"false"};
// Cursor c = mDb.rawQueryWithFactory(null, updateQuery, valVars, null);
Cursor c = mDb.rawQuery(updateQuery, valVars);
try{
mDb.setTransactionSuccessful();
}catch (Exception e){
Log.e("Error in transaction", e.toString());
}finally{
mDb.endTransaction();
c.close();
}
}
返回光標爲空,甚至TEH交易成功的話,將不會存儲我已經提供到數據庫中的數據運行。
我的主密鑰由UserId, accountId, and accountType
沒有例外被記錄下來。任何想法,我犯了什麼錯誤?
第一個問題是沒問題,我已經測試過了。我如何使用Insert或execSQL?請問你能從上面的代碼給我一個例子嗎? – 2012-02-06 09:59:36
'insert()'更好。查看文檔:http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert(java.lang.String,java.lang.String,android.content.ContentValues) – 2012-02-06 10:00:50
insert not支持sql語句。 – 2012-02-06 10:02:03