jQuery / SQLite用于保存用户在文本区域中输入的内容

时间:2014-08-25 23:34:07

标签: sqlite cordova

以下是我在移动应用程序中包含的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

1 个答案:

答案 0 :(得分:1)

我可以看到变量var dbonDeviceReady()函数的本地变量 insertNewLine and viewthelastglory功能无法使用它 您需要在全局上下文中定义它。即db = ...window.db = ...
两种定义都是一样的。
最好使用window.db = ...,因为明确将其声明为全局声明。