以下是我在移动应用程序中包含的JavaScript
document.addEventListener( "deviceready", onDeviceReady, false );
$currentstatusview = $('#currentstatusview'); queryresult = "haha";
function onDeviceReady( )
{
var db = window.sqlitePlugin.openDatabase( { name: "custombase.db" } );
db.transaction( getTableReady );
}
// Create table if the table does not exist
//
function getTableReady(tx)
{
tx.executeSql( 'CREATE TABLE IF NOT EXISTS
CUSTOMTABLE (word unique, meaning)' );
}
// Insert A New Row
//
function insertNewLine(tx)
{
tx.executeSql(necessarysqlstatement);
}
// Query the database
//
function viewthelastglory(tx)
{
tx.executeSql( 'SELECT * FROM CUSTOMTABLE', [], querySuccess, errorCB );
}
// Query the success callback
//
function querySuccess(tx, results)
{
for (var i = 0 ; i < len ; i++)
{
queryresult =+ "<br>Row " + i + " Word : " + results.rows.item(i).word + " Meaning : " + results.rows.item(i).meaning;
}
$currentstatusview.text(queryresult);
}
function errorCB(err)
{
alert("Error processing SQL: "+err.code);
}
然后在html中
<div id=currentstatusview> </div>
但是上面的html元素currentstatusview中没有弹出任何内容。
我的Cordova是3.5.0-0.2.7,我使用下面的命令
安装了SQLite插件cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin
答案 0 :(得分:1)
我可以看到变量var db
是onDeviceReady()
函数的本地变量
insertNewLine and viewthelastglory
功能无法使用它
您需要在全局上下文中定义它。即db = ...
或window.db = ...
两种定义都是一样的。
最好使用window.db = ...
,因为明确将其声明为全局声明。