0
我需要在插入表中的數據之前檢查重複的列(項目)。但它是異步調用.so它不工作。我需要調用同步呼叫,以便我可以得到值true和false如何在sqlite phonegap中調用同步調用(在插入前檢查重複項)
然後檢查是否插入值。
function validationField() {
db.transaction(getallTableCntend, errorCB);
}
function getallTableCntend(tx) {
tx.executeSql('SELECT * FROM CaseTable', [], queryexcecute, errorCB);
}
function queryexcecute(tx, result) {
var len = result.rows.length;
for (var i = 0; i < len; i++) {
if(result.rows.item(i).CaseName ==$('.caseName_h').val()){
alert("Folder is already Exit.");
isvalid=false;
Break;
return;;
}
}
}
I am calling this like this.
$(document).on('click', '#AddButton', function() {
isvalid = validationField();
if (isvalid) {
insertData();
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, onFileSystemFail);
}
});
可能我創建表一樣的.. tx.executeSql(「CREATE TABLE IF NOT EXISTS CaseTable(ID INTEGER PRIMARY KEY AUTOINCREMENT,CaseName TEXT NOT NULL UNIQUE,CaseDate INTEGER,文本區域TEXT NOT NULL )'); 和使用這樣的...
tx.executeSql('INSERT OR IGNORE INTO CaseTable(CaseName,CaseDate,TextArea) VALUES ("' + $('.caseName_h').val() + '", "' + $('.caseDate_h').val() + '","' + $('.caseTextArea_h').val() + '")');
----------------------------------- -----------做這樣的--------------
function checkExitingFolderName(){
db.transaction(getallTableCntend, errorCB);
}
function getallTableCntend(tx) {
tx.executeSql('SELECT 1 FROM CaseTable WHERE CaseName ='+$('.caseName_h').val(), [], queryexcecute, errorCB);
}
function queryexcecute(tx, result) {
var len = result.rows.length;
alert("hi"+length);
if(len>0){
alert("Folder")
}
else{
insertData();
}
}
請深深解釋先生.. – user2549922
解釋究竟是什麼? –
檢查我的更新..最後兩行 – user2549922