gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:33:29 25 4
gpt4 key购买 nike

这是糟糕的编码吗?

我有一个问题

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。

最佳答案

Isn't it less error-prone to used named parameters in the query?

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

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

关于c# - (?,?...?) 或 (@field1,@field2...@fieldn) 在参数化查询中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43864936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com