JavaScript WebSQL数据库

时间:2015-09-27 19:17:32

标签: javascript web-sql

我的代码存在问题。

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,tables和记录,因此,当我在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>

我得警报(2)而非警报(1),为什么?

txtarea.value当然是textarea对象,所以有什么不对吗?

1 个答案:

答案 0 :(得分:0)

我会从第一个else块中取出所有函数定义(除去那个)。将第二个dataHandler函数的名称更改为dataHandler2,看看你得到了什么。