OleDbParameters und Parameternamen

Ich habe eine SQL-Anweisung, die ich über OleDb ausführe. Die Anweisung sieht ungefähr so aus:

INSERT INTO mytable (name, dept) VALUES (@name, @dept);

Ich füge dem OleDbCommand folgende Parameter hinzu:

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);

Das Problem, das ich habe, ist, wenn ich die Parameter für den umgekehrten Befehl hinzufüge, werden die Spalten mit den falschen Werten gefüllt (d. H. Der Name befindet sich in der Abteilungsspalte und umgekehrt).

Command.Parameters.Add(Parameter2);
Command.Parameters.Add(Parameter1);

Meine Frage ist, wozu die Parameternamen dienen, wenn Parameterwerte nur in der Reihenfolge in die Tabelle eingefügt werden, in der sie dem Befehl hinzugefügt wurden. Die Parameternamen scheinen überflüssig?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage