我想知道是否有人可以建议我使用更多参数(最多20个字段)处理SQLite查询的更智能方法。
如今,我正在编写如下例子。如果我以错误的顺序放置参数,这很令人头痛。我认为查询应该是一次需要仔细构建的东西。如果你这么说我没关系。但是如果某人(或我)修改了查询(添加/删除)参数,则需要花一些时间仔细检查参数顺序。
tx.executeSql('INSERT INTO some_table
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [a, b, c, ...., z], , function(tx, res) {
/* Some code here */
}
有人可以建议或推荐一些实用的方法来处理这些参数并使其更具可读性并使维护代码变得容易吗?
答案 0 :(得分:0)
SQLite允许different parameter placeholders;使用:
,@
或$
前缀,参数可以有名称。
可以为executeSql
编写自己的包装器,检查SQL字符串,提取参数名称,并使用具有相同名称的变量值构造参数数组:
myExecuteSQL('INSERT INTO MyTable VALUES(:a, :b, :c)')
Tcl SQLite包装器就是这样做的。 但是,我不知道任何JavaScript实现。