首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取与SQLITE离子应用程序中指定的条件匹配的行数

如何获取与SQLITE离子应用程序中指定的条件匹配的行数
EN

Stack Overflow用户
提问于 2016-04-21 17:25:25
回答 4查看 3.3K关注 0票数 1

我正在开发一个离子和SQLITE数据库的移动应用程序。我想要一个场景,其中相同的记录不应该插入两次库存操作。我正在按如下方式检查数据库:

代码语言:javascript
复制
  var query = "SELECT COUNT(*) FROM productScan WHERE uniqueId = (?) AND sync = \'N\'";

  $cordovaSQLite.execute(db, query, [uniqueId]).then(function (res) {
            alert(JSON.stringify(res));
  }, function (err) {
            alert(JSON.stringify(err));
  });

这里发生的情况是,当我第一次安装应用程序并运行它,然后在扫描操作之后,当此代码运行重复检查时,即使数据库中没有记录,它也会给出以下输出

代码语言:javascript
复制
{"rows":{"length":1},""rowsAffected":0}

我是第一次接触结构化查询语言(SQL)。我无法在这里解析结果。结果是错误的。查询是否需要重新格式化或以任何不同的方式来实现该目标?

耽误您时间,实在对不起。

EN

回答 4

Stack Overflow用户

发布于 2018-09-10 22:01:44

要做到这一点,最好的方法是给

(*)赋予别名。

像这样的东西

代码语言:javascript
复制
db.executeSql("select count(*) AS TOTAL from mydebit where aid = ?", [
          parseInt(this.mydata)
        ]);

然后

代码语言:javascript
复制
console.log(data.rows.item(0).TOTAL)

因此,我们可以很容易地为返回结果命名,并使用获得行值cheersss.....!

票数 2
EN

Stack Overflow用户

发布于 2016-12-03 20:58:11

我是这样做的

JSON.stringify(data.rows.item(0)['COUNT(*)'])

票数 1
EN

Stack Overflow用户

发布于 2016-04-21 17:49:37

不知何故,我设法以一种不同的方式实现了这一目标。

代码语言:javascript
复制
var query = "SELECT * FROM productScan WHERE uniqueId = (?) AND sync = \'N\'";
$cordovaSQLite.execute(db, query, [uniqueId]).then(function (res) {
if (res.rows.length == 0) {
//processed the operation
}else{
alert('You have already scanned this asset!.');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36765304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档