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



这是糟糕的编码吗?

我有一个疑问

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 paradox。

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

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

我不是悖论专家,但可能有一个专门针对悖论的驱动程序,它确实允许命名参数。你可能在那里有更多的运气。

相关内容

  • 没有找到相关文章

最新更新