【发布时间】:2017-10-07 11:26:21
【问题描述】:
这是不好的编码吗?
我有一个问题
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。
【问题讨论】:
-
目前,.NET Framework Data Provider for ODBC 中似乎仍然不支持命名查询参数,无论是使用文本命令还是存储过程:stackoverflow.com/questions/6338139/… & msdn.microsoft.com/en-us/library/…。简而言之,在处理 ODBC 时,请继续使用
?占位符。
标签: c# sql parameters odbc paradox