检查PhoneGap的记录是不是存在SQL
Posted
技术标签:
【中文标题】检查PhoneGap的记录是不是存在SQL【英文标题】:Checking if record exists SQL for PhoneGap检查PhoneGap的记录是否存在SQL 【发布时间】:2014-02-12 06:26:30 【问题描述】:我需要确定一条记录是否存在,以便我能够更新或删除它。
据我所知,一切都需要交易,选择计数是行不通的。
我几乎找不到任何有用的文档,我目前的代码是:
app.database.db.transaction(function (tx)
$.each(result.specoffer, function (i, item)
if (typeof item.id != 'undefined')
var sql = '' +
'IF EXISTS SELECT id FROM Specials WHERE id = ' + item.id + ' ' +
'UPDATE Specials SET picture = "' + item.picture + '", startdate = "test", finishdate = "test", mess = "' + item.mess + '", shortmess = "' + item.picture +
'", shortmess = "' + item.shortmess + '", name = "' + name + '" WHERE id = ' + item.id + ' ' +
'ELSE ' +
'INSERT INTO Specials (id, picture, startdate, finishdate, mess, shortmess, name) VALUES (' +
item.id + ', "' + item.picture + '", "test", "test", "' + item.mess + '", "' + item.shortmess + '", "' + item.name + '")';
tx.executeSql(sql);
);
任何帮助将不胜感激
【问题讨论】:
您如何直接从 javascript 客户端访问您的数据库?我认为您需要创建一个您的客户端可以与之交谈的 API。你能发布更多关于你的项目设置的细节吗?谢谢。 它是phonegap存储,docs.phonegap.com/en/1.2.0/phonegap_storage_storage.md.html它与设备上的本地存储通信。它是 W3C 标准,但已被淘汰。 w3.org/TR/webdatabase 不过Phonegap 仍然使用它,您可以将它用于智能手机本地保存数据。 我每隔 10 到 15 分钟使用 jsonp 从服务器检索数据,我将其放入本地存储以节省往返行程或用户丢失 wifi。这是一个非常简单的设置,对于任何体面的移动应用程序来说,你确实需要它,我不知道为什么没有更多的人遇到同样的问题。 我想我最终将不得不删除它们并重新添加,它并不完美,但它应该可以完成这项工作 我们使用localStorage(而不是Webdatabase)来处理这类事情,当用户重新上线时,我们将更新localStorage。所以,localStorage 就像一个普通的缓存。 【参考方案1】:您可以直接使用更新或删除
db.transaction(function(tx)
tx.executeSql('UPDATE Category SET categoryName="' + categoryName
+ '",categoryIconPath="' + categoryIconPath
+ '",categoryDescription="' + categoryDescription
+ '" WHERE categoryId=' + categoryId + '', [], function(tx,
result)
, errorCB);
只需分别输入您的表名和列。这里 categoryId 是独一无二的,就像你的情况下的 item.Id 一样
【讨论】:
以上是关于检查PhoneGap的记录是不是存在SQL的主要内容,如果未能解决你的问题,请参考以下文章