javascript - 为输入值显示 SQL 单列值的简单方法

javascript - simple way to display SQL single column value for input value

我是一个新的 Cordova-Android 程序制作者。我已成功创建并插入本地数据库字段。但是当我想将它们显示到 input 标签时我卡住了。

这是我的 table :

+----+------+---------+
| id | word | stats   |
+----+------+---------+
| 1  | abc  | stackov |
| 2  | def  | erflow  |
+----+------+---------+

我试试这个代码

    $(document).ready(function(){
        docDB = window.openDatabase("Test", "1.0", "Test Data", 50000);

        docDB.transaction(function (tx) {
            tx.executeSql("SELECT * FROM Test WHERE word='abc'", [], function (tx, results) {
                var dblen = results.rows.length;
                if( dblen>0 ){
                    document.getElementById("abc").value = results.rows.item(0)['stats'];
                    }
            }, null);
        });
   });

我一直在寻找最简单的方法,因为我只想显示单个 SQL 列值 word='abc' 和其他 word 值,例如 word='def'。有人可以更正吗?

我会将结果值插入 input 字段

Name : <input type="text" id="abc">

感谢您的回答:)

您需要在 sql 代码中重新确认评估

尝试在 SQL 语句之外添加您的搜索值,并将 item 作为对象引用,见下文:

$(document).ready(function(){
    docDB = window.openDatabase("Test", "1.0", "Test Data", 50000);

    docDB.transaction(function (tx) {
        tx.executeSql("SELECT * FROM Test WHERE word=?", ['abc'], function (tx, results) {
            var dblen = results.rows.length;
            if( dblen>0 ){
                document.getElementById("abc").value = results.rows.item(0).stats;
                }
        }, null);
    });
});

从实际的 SQL 语句中删除搜索参数有几个不同的好处。一种是,通过传入变量,它们被正确转义,不会破坏语句。还有一个就是,在调试代码的时候,语句更加清晰。

对于那些可能不熟悉语法的人,您可以在要放置变量输入或搜索参数的地方添加 ?,然后在语句 [] 项被删除后的数组中数组并添加到 SQL 语句。

示例:

..."SELECT * FROM thisTable WHERE id IN(?) AND name LIKE ? and gender=?", ['1,32,456', '%tim%', 'M']

生成:

"SELECT * FROM thisTable WHERE id IN('1,32,456') AND name LIKE '%tim%' and gender='M'"