我正在尝试使用 jQtouch 创建一个简单的待办事项 Web 应用程序,但我有一些时间创建 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如何处理初始函数? 看起来交易甚至没有执行,这让我相信开头几行有问题。
编辑: 我遇到的最大的麻烦是复制数据库,每次刷新浏览器时都会创建另一个数据库。该表现在已创建,但因为它每次创建一个新表时都会创建一个新数据库,依此类推。
最佳答案
使用phonegap ,它使用手机的 native API,并将代码放入phonegap的ready函数中。另外,如果您仍然遇到问题,请开始在代码中放置警报,并查看最后一个警报何时出现。最后一个警报之后的行将是您的问题
关于javascript - 使用 jQtouch 的 Web 应用程序中的 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200753/