【发布时间】:2010-03-30 06:26:27
【问题描述】:
我知道我忘记了如何执行此操作,并且为时已晚。
我想以一种优雅的方式为 munged sql 命令构建一个占位符列表。
有任意个参数的命令,需要编译?,?,?
我有没有提到这是一个湿脑放屁?这就是结果:
如果你只记得我忘记的东西,欢迎你让我觉得自己更像个白痴。 ;-)
好吧,看来我应该休息一下了。
你们俩都确认了我在深入研究之前所做的事情。
这是我的名单,
string names = string.Join(",", _command.Parameters.Cast<SQLiteParameter>().Select(p => p.ParameterName).ToArray());
我只是将 p.Name 替换为 '?'
string vals = string.Join(",", _command.Parameters.Cast<object>().Select(p => "?").ToArray());
但由于某种原因我没有批准。
谢谢。
【问题讨论】:
-
如果是用于 SQL 命令,为什么不使用参数化查询参数? SQL 查询中的字符串操作可能会导致错误的结果。
-
@Darin:这是一个参数化查询。关键是查询参数的数量在编译时是未知的。
-
@jon limjap,请别管它。我只是把它撞到了问题框中。我一看到它就意识到它是多么愚蠢。
-
@Darin,它用于 SQLite 命令。 Skeet 是对的,“任意”是关键词 ;-)