這是不好的編碼?(?,?...?)或(@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"];
代碼工作,除非有一個if條件身邊的添加,該行後導致數據陷入了錯誤的變量。
佔位符(「TOFnr」等)僅用於程序員參考,不被sql或c#本身使用,對嗎?
難道它不容易在查詢中使用命名參數?
INSERT INTO sometable (field1,field2...fieldn) VALUES (@TOFnr,@LineNr,[email protected])
這是c#連接borland paradox over odbc。
目前,使用文本命令或存儲過程似乎仍然不支持在.NET Framework數據提供程序中爲ODBC命名的查詢參數:http://stackoverflow.com/questions/6338139/can-odbc-parameter-place -holders-be-named&https://msdn.microsoft.com/en-us/library/system.data.odbc.odbccommand.commandtype.aspx。簡而言之,在處理ODBC時應保留「?」佔位符。 –