- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Phonegap 开发应用程序。我创建了一个名为 location 的表,如下所示:
...
tx.executeSql('CREATE TABLE IF NOT EXISTS LOCATIONS (id unique, name, key, secret)');
...
我插入一行:
...
tx.executeSql('INSERT INTO LOCATIONS (id, name, key, secret) VALUES (?, ?, ?, ?)', [1, "Some Name", "Some Key", "Some Secret"], success, error);
...
当我这样做时:
...
tx.executeSql('SELECT * FROM LOCATIONS', [ ], function(tx, results) {
...
}
我得到 results.rows.length 等于 1 并且 results.rows.item(0) 是:
[ {"id":1,"name":"Some Name","key":"Some Key","secret":"Some Secret"} ]
但是如果我这样做:
...
function findById(id) {
tx.executeSql('SELECT * FROM LOCATIONS WHERE id = ?', [ id ], function(tx, results) {
...
}
}
...
findById(1);
我得到的 results.rows.length 等于 0,而我希望它是 1。
有没有人遇到过类似的问题?
非常感谢!
最佳答案
我知道问题出在哪里了。似乎在插入行时,字段“id”被创建为一个整数(因为传递的值是一个整数)。但是,当我访问 findById 时,我没有发送 1,而是发送了“1”。 “WHERE”子句需要一个整数,但它却找到了一个字符串对象。
当您在准备好的语句 (executeSql) 中发送无效类型时,Phonegap 中使用的 Web-SQL 似乎没有给出错误,而是返回 0 个结果。奇怪的行为,但幸运的是我能够通过解析整数来解决我的问题:
函数 findById(id) { tx.executeSql('SELECT * FROM LOCATIONS WHERE id = ?', [ parseInt(id) ], function(tx, results) { ... }
关于javascript - 带有 WHERE 子句的 executeSql 在 Phonegap 中不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19307862/
代码如下: declare @tt varchar(20) set @tt = 'monisubbouns' declare @int int 
我不明白为什么下面的代码会这样工作:所有结果都进入 catch block 。 “select * from danceMoves”之后的最后一个 catch block 实际上会将“swag”写入控
我的 ExecuteSQL 任务中有多个更新语句。每个都依赖于一个变量,例如我的身份证 UPDATE TABLE_A SET COL_A={Something} WHERE ID=? UPDATE T
我在 examples 中看到当executeSql有多个参数时,我们使用问号: db.transaction(function(tx){ var addedOn = new Date(); tx.e
我正在尝试通过 Nifi 从 oracle 数据库中获取数据。在 Canvas 中,我将文件大小为 0 KB 的“GenerateFlowFile”处理器安排为每 5 分钟运行一次。这只是为了在成功时
我正在开发一个 cordova 应用程序,我需要在其中创建登录和注册。但是在运行该应用程序时我收到一个名为“错误处理 SQL:未定义”的错误。我知道我收到此错误是因为insertUSERREG 中的
我在 Nifi 中设置了一个工作流程,通过 ExecuteSQL 处理器从 DB2 读取数据并写入某处。当我运行一些包含 varchar 和特殊字符的 SQL 命令时,我在 ExecuteSQL 处理
我正在尝试使用 SQLite 返回 SQL 查询的结果。查询工作正常,我可以在 executeSql 函数中输出结果。但是当我尝试从我的主函数 (returnSQLArray) 访问数组时,它是未定义
我正在尝试将数组参数传递给 ionic 中 SQLiteObject 的函数 executeSql,以使其成为我的 sql 查询的值。 例如 var sqlQuery: string = "SELEC
我实际上尝试用 SQLite 制作一个移动应用程序。我只是尝试创建两个表: constructor(private sqlite:SQLite,public modalCtrl: ModalContr
嗨,我们正在混合移动应用程序上创建。我们正在尝试将数据保存到 SQLite使用 Ionic3 和 Angular4。所以我们将插件添加到我们的项目中,然后我们尝试这样: import { Compon
这是我的代码: 给定一个对象,我尝试在 webStorage 数据库中插入一些数据。问题是控制台返回给我一个“未定义不是函数”,我不知道为什么 这是我的代码片段 try { db = openDa
如何访问结果 tx.executeSql('select query for a table',[],sucessCB); function sucessCB(tx, results){ //<--
我只是想知道 FileMaker Pro 命令“ExecuteSQL()”是否支持 SQL 查询中的子查询? 这是我目前收到的查询: "SELECT Google_Calendar FROM SCH
如何让以下 JavaScript 返回 row 以便我可以在事务外访问它? Apple 的所有示例代码似乎都在事务中将 HTML 写入浏览器,而不是将数据传回调用函数。 沿着: function ge
我试图了解两个处理器之间的区别 ExecuteSQL和 ExecuteSQLRecord (V1.8 以上)。后面提供的有什么额外的东西吗?ExecuteSQL不是吗?我已经看到的一件事是 Execu
在 NiFi 流中,我想读取 JSON 结构,将其拆分,使用有效负载执行 SQL 查询,最后将每个结果输出到 JSON 文件中。 但是,我在检索 ExecuteSQL 中拆分的 FlowFile 的属
我创建了具有数据类型为 -dateTimeOffset 值的单列的表并插入了一些值。 create table dto (dto datetimeoffset(7)) insert into dto
我创建了具有数据类型为 -dateTimeOffset 值的单列的表并插入了一些值。 create table dto (dto datetimeoffset(7)) insert into dto
我正在尝试使用 jqm 应用程序的 web sql 数据库中的数据填充 html 标记。这是我的代码: $("#profile").on("pageinit", function () {
我是一名优秀的程序员,十分优秀!