使用jQtouch的webapp中的SQLite

时间:2011-11-20 09:57:16

标签: javascript jquery sqlite web-applications jqtouch

我很想用jQtouch创建一个简单的todo webapp,但是我有时间创建一个SQLite数据库。或者创建没有表的数据库,当我刷新Safari时,再次创建数据库,导致许多数据库具有不同的名称。

$(function() {

var db;


//DATABASE
var shortName = 'todosDB';
var version = '1.0';
var displayName = 'todosDB';
var maxSize = 65536;
db = openDatabase(shortName, version, displayName, maxSize);
db.transaction(
    function(transaction) {
        transaction.executeSql(
            'IF NOT EXISTS CREATE TABLE  todos ' +
            '(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, ' +
            'todo TEXT NOT NULL, description TEXT NOT NULL' +
            'date DATE);'
        );
    }
);

当我最终创建它时,当我尝试在数据库中放入一些数据时没有任何反应。

db.transaction(
        function(transaction) {
                transaction.executeSql(
                    'INSERT INTO todos (todo, description) VALUES (' +  $('#todo').val()  + ', ' +  $('#description').val()  + ' );'
                );
            }
        );

任何帮助将不胜感激。 我不知道问题是因为jQtouch如何处理初始函数? 似乎交易甚至没有执行,这让我相信有一些问题就是开头行。

编辑: 我遇到的最大麻烦是复制数据库,每次刷新浏览器时都会创建另一个数据库。该表现在已创建,但由于每次每次创建一个新表时都会创建一个新数据库,依此类推。

1 个答案:

答案 0 :(得分:3)

使用phonegap,它为手机使用原生api,并将代码放入phonegap的ready函数中。此外,如果您仍然遇到问题,请开始在代码点放置警报,并查看最后一个警报何时出现。最后一次警报之前的行将是您的问题