我有一条SQL语句通过OleDb执行,语句大致如下:
INSERT INTO mytable (name, dept) VALUES (@name, @dept);
我正在这样为 OleDbCommand 添加参数:OleDbCommand Command = new OleDbCommand();
Command.Connection = Connection;
OleDbParameter Parameter1 = new OleDbParameter();
Parameter1.OleDbType = OleDbType.VarChar;
Parameter1.ParamterName = "@name";
Parameter1.Value = "Bob";
OleDbParameter Parameter2 = new OleDbParameter();
Parameter2.OleDbType = OleDbType.VarChar;
Parameter2.ParamterName = "@dept";
Parameter2.Value = "ADept";
Command.Parameters.Add(Parameter1);
Command.Parameters.Add(Parameter2);
我的问题是,如果我颠倒命令的参数顺序,那么列中会填充错误的值(例如,名字会填到了部门列而反之亦然)。
Command.Parameters.Add(Parameter2);
Command.Parameters.Add(Parameter1);
我的问题是,如果参数值只是按照添加命令的顺序插入表中,那么参数名称有什么意义?参数名称似乎是多余的?
DbParameter
没有ParameterName
字段 - 如果OleDbParameter
不使用ParameterName
,那么他们不会将其添加到类中。 - BlueRaja - Danny Pflughoeft