繁体   English   中英

参数化查询中的(?,?...?)或(@ field1,@ field2 ... @ fieldn)?

[英](?,?…?) or (@field1,@field2…@fieldn) in parmeterized queries?

这是不好的编码?

我有一个问题

INSERT INTO sometable (field1,field2...fieldn) VALUES (?,?,.....?)

然后

cmd.Parameters.Add("TOFnr", OdbcType.Int, 10).Value = orderId;
cmd.Parameters.Add("LineNr", OdbcType.Int, 10).Value = maxLineNr;
cmd.Parameters.Add("Date", OdbcType.VarChar, 8).Value = rowHeader["Date"];

该代码有效,除了在Add周围有一个if条件,导致该行之后的数据进入错误的变量。

占位符(“TOFnr”等)仅用于程序员引用,不是由sql或c#本身使用,对吗?

在查询中使用命名参数不是很容易出错吗?

INSERT INTO sometable (field1,field2...fieldn) VALUES (@TOFnr,@LineNr,.....@fieldn)

这是c#连接到odbc的borland悖论。

在查询中使用命名参数不是很容易出错吗?

是的。 遗憾的是,ADO.NET ODBC驱动程序不允许在SQL语句中传递命名的SQL参数,因此不幸的是,使用ODBC驱动程序是不可能的。

我不是Paradox的专家,但可能有专门针对Paradox的驱动程序,它允许命名参数。 你可能会有更多的运气。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM