无法在 Android 中查询 WebSQL
Cannot query WebSQL in Android
当我使用以下代码在 Android 中使用普通查询(在浏览器上工作)时:
var sql = 'SELECT DPHID FROM DPH';
var sqlParam = [];
db.transaction(
function queryDB(tx) {
tx.executeSql(sql, sqlParam,
function querySuccess(tx, results) {
console.log(JSON.stringify(results.rows));
... call other function ...
}
, error);
}
, error);
function error(tx, err) {
console.log("Error");
console.log(JSON.stringify(tx));
console.log(JSON.stringify(err));
}
它只打印成功(没有结果数据):
{"length":5} at null:339
但它打印出外部错误:
{"code":0,"message":"the statement callback raised an exception or
statement error callback did not return false"} at null:615
有什么问题吗?
终于解决了!
我试着解释一下我能学到什么:
发生错误是因为我在其他函数中使用了 results
,我这样调用:
results.rows[0]
这在 PC 浏览器中完美无缺,但在 Android 移动应用程序中则不然。我需要使用这个:
results.rows.item(0)
从 results
获取对象。
我仍然不明白的是当我打印 results.rows
时,它只打印 {"length":5} at null:339
这让我怀疑我的代码有问题(我已经在 PC 浏览器中测试过没有问题)。
当我使用以下代码在 Android 中使用普通查询(在浏览器上工作)时:
var sql = 'SELECT DPHID FROM DPH';
var sqlParam = [];
db.transaction(
function queryDB(tx) {
tx.executeSql(sql, sqlParam,
function querySuccess(tx, results) {
console.log(JSON.stringify(results.rows));
... call other function ...
}
, error);
}
, error);
function error(tx, err) {
console.log("Error");
console.log(JSON.stringify(tx));
console.log(JSON.stringify(err));
}
它只打印成功(没有结果数据):
{"length":5} at null:339
但它打印出外部错误:
{"code":0,"message":"the statement callback raised an exception or statement error callback did not return false"} at null:615
有什么问题吗?
终于解决了!
我试着解释一下我能学到什么:
发生错误是因为我在其他函数中使用了 results
,我这样调用:
results.rows[0]
这在 PC 浏览器中完美无缺,但在 Android 移动应用程序中则不然。我需要使用这个:
results.rows.item(0)
从 results
获取对象。
我仍然不明白的是当我打印 results.rows
时,它只打印 {"length":5} at null:339
这让我怀疑我的代码有问题(我已经在 PC 浏览器中测试过没有问题)。