我正在尝试使用javascript,sqlite来存储来自from服务的数据。得到一些错误,比如
db.transaction(populateDB, errorCB, successCB);populateDB根本没有执行。
当从表(和相同的数据库)中读取数据时,会出现类似于"Error processing SQL: undefined“的错误。应用了许多技巧,但到目前为止还没有解决方案。
我的选择代码是
function queryDB(tx)
{
db.transaction(function(tx)
{
tx.executeSql('SELECT * FROM vact_geography', [], LoadGeo, errorCB);
});
}
function LoadGeo(tx, results)
{
var len = results.rows.length;
alert("Region table: " + len + " rows found.");
//arr = new Array();
for (var i=0; i<len; i++){
// alert("Row = " + i + " geo_id = " + results.rows.item(i).geo_id + " geo_name = " + results.rows.item(i).geo_name);
//arr.push(results.rows.item(i).geo_name);
//alert(results.rows.item(i).regionname);
//alert("assigned");
var src_Geo = document.getElementById("src_target") ;
var Des_Geo = document.getElementById("Des_target") ;
//alert("Row Should be printed");
src_Geo.options[src_Geo.options.length] = new Option(results.rows.item(i).geo_name, results.rows.item(i).geo_id);
Des_Geo.options[Des_Geo.options.length] = new Option(results.rows.item(i).geo_name, results.rows.item(i).geo_id);
}
}填充数据的代码是
function startup()
{
alert("Entered in Str");
$.get("http://example.in/projects/vact1/api.php?usn=user&pwd=***&var=database",
function(Jdata)
{
alert("1st api call");
var j;
j=Jdata.timestamp;
$.get("http://example.in/projects/vact1/api.php?usn=user&pwd=***&var=validity×tamp="+j+"",
function(Tdata)
{
alert("2st api call");
var i;
i=Tdata.UpdateNeeded;
alert("http://example.in/projects/vact1/api.php?usn=user&pwd=***&var=validity×tamp="+j+"");
if(i)
{
db = window.openDatabase("Database", "1.0", "PHGsample", 200000);
db.transaction(populateDB, errorCB, queryDB);
alert("Enterd");
}
else
{
queryDB();
}
});
});}
有什么建议吗?我为link提前实现了感谢
发布于 2012-11-28 14:08:31
那么,你在这件事上做得怎么样?我看到它已经超过12个月了。
是否定义了populateDB?你怎么知道它不会走那么远?
您知道,在这种情况下,populateDB将获得transaction对象,并且您将使用它来tx.sqlExecute() sql -对吗?
https://stackoverflow.com/questions/7578564
复制相似问题