У меня есть 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);
Мой вопрос, какой смысл названий параметра, если значения параметров просто вставляются в таблицу в порядке, они добавляются команда? Названия параметра кажутся избыточными?
Имена параметров являются общими в системе поддержки SQL (т. Е. Не относятся к OleDb). Практически ТОЛЬКО OleDb / Odbc их НЕ используют. Они существуют, потому что OleDb - это конкретная реализация общих базовых классов.