簡體   English   中英

JavaScript WebSQL 數據庫

[英]JavaScript WebSQL databases

我的下面的代碼有問題。

db = openDatabase('mydb', '1.0', 'my first database', 5 * 1024 * 1024);

if(!db) {   alert("Failed to connect to database.");    }

else {

function doQuery(queryType,query) {

function errorHandler(tr, error) {
alert('Oops.  Error was: '+error.message+' (Code '+error.code+')');
var we_think_this_error_is_fatal = true;
if (we_think_this_error_is_fatal) return true;
return false;
}

if(queryType == "SELECT") {
function dataHandler(tr, rs) {alert("1")}
db.transaction(function (tr) {  tr.executeSql(query,[],dataHandler,errorHandler)})
}

else { 
function dataHandler(tr, rs) { alert("2")}
db.transaction(function (tr) {  tr.executeSql(query,[],dataHandler,errorHandler)})
}

} // doquery
} // else

db、表和記錄已經插入,因此,當我在 mypage 中調用它時:

<td align="right">
<div id="body">
<textarea id="txt" rows="20" cols="48">
</textarea>
</div>
<input type="button" id="button" onClick="doQuery('SELECT',txtarea.value)" value="Execute SQL">
</td>

我收到的是 alert(2) 而不是 alert(1),為什么?

txtarea.value當然是textarea對象,有什么問題嗎?

我會從第一個 else 塊中取出所有函數定義(去掉 else)。 將第二個 dataHandler 函數的名稱更改為 dataHandler2,看看你得到了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM