检查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的主要内容,如果未能解决你的问题,请参考以下文章

检查ios phonegap中的相机是不是存在

检查用户是不是存在[重复]

检查文件是不是存在然后追加记录

SQL 检查记录是不是存在

Kohana - 检查模型是不是存在(不是记录)

CodeIgniter:检查记录是不是存在