我在iOS上調用SQLite的executeSql語句。我正在使用成功的[和錯誤]回調方法,以便我可以確認受影響的記錄數。爲什麼rowsAffected不返回整數
當它回來時,它已經正確定義了3個變量,但是當我嘗試對rowsAffected執行「if」檢查時,它不工作,因爲它認爲它是一個對象。
這是一個角度的服務...
這裏是我的代碼:
$DBService.ExecuteQuery(script, params,
function (insertId, rowsAffected, rows) {
window.logger.logIt("rowsAffected: " + rowsAffected.toString());
if (rowsAffected !== 1) {
deferred.reject("Failed to update record. Query did not return 1 record affected.");
} else {
deferred.resolve();
}
},
function (error) {
deferred.reject("Failed to update record. " + error.message);
}
);
當我在調試器破裂,將鼠標懸停在的RowsAffected變量,它會顯示它,就好像它是一個屬性一個類,它顯示:insertId,rowsAffected = 1和行。這些是成功回調中的3個參數。爲什麼當我只是在行上盤旋時顯示全部3影響?另外,當我寫入我的控制檯窗口(window.logger.logIt())時,它將它顯示爲[object object]。同樣,這告訴我它認爲它是一個類,而不是類的屬性(或者只是我的類中的一個變量)。
有人能告訴我這裏發生了什麼事嗎?
順便說一句,我被騙了,改變了我的代碼,也就是說,當(rowsAffected.rowsAffected == 1!)和這樣的作品,但它並不能解釋爲什麼。 – ganders
什麼讓你覺得它不是一個對象呢? – gkalpak
僅僅通過說明文檔說它返回3個參數,insertId,rowsAffected和行。前兩個是整數,第三個是受影響的行的數組。 http://www.w3.org/TR/webdatabase/ – ganders