1

我想知道是否有人可以建议我一种更聪明的方法来处理带有大量参数(最多 20 多个字段)的 SQLite 查询。

如今,我正在编写类似下面示例的代码。如果我以错误的顺序放置参数,那会很头疼。我认为查询应该是一次性的,需要仔细构建。你这么说我没问题。但是如果有人(或我)修改了查询(添加/删除)参数,则需要一些时间来一次又一次地仔细检查参数顺序。

tx.executeSql('INSERT INTO some_table 
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [a, b, c, ...., z], , function(tx, res) {
/* Some code here */
}

有人可以建议或推荐我处理这些参数并使其更具可读性并易于维护代码的实用方法吗?

4

1 回答 1

0

SQLite 允许使用不同的参数占位符;带有:@$前缀的参数可以有名称。

可以编写自己的包装器来executeSql检查 SQL 字符串,提取参数名称,并使用具有相同名称的变量的值构造一个参数数组:

myExecuteSQL('INSERT INTO MyTable VALUES(:a, :b, :c)')

Tcl SQLite 包装器就是这样做的。但是,我不知道任何 JavaScript 实现。

于 2013-03-09T19:46:58.847 回答