这是糟糕的编码吗?
我有一个疑问
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 驱动程序。
我不是悖论专家,但可能有一个专门针对悖论的驱动程序,它确实允许命名参数。你可能在那里有更多的运气。