ho un'istruzione SQL che sto eseguendo attraverso OleDb, l'istruzione è qualcosa di simile:OleDbParameters e il parametro nomi
INSERT INTO mytable (name, dept) VALUES (@name, @dept);
sto aggiungendo parametri alla OleDbCommand in questo modo:
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);
Il problema che ho è, se aggiungo i parametri al comando viceversa, le colonne vengono popolate con valori errati (ad esempio il nome è nella colonna dept e viceversa)
Command.Parameters.Add(Parameter2);
Command.Parameters.Add(Parameter1);
La mia domanda è, qual è il punto dei nomi dei parametri se i valori dei parametri sono appena inseriti nella tabella nell'ordine in cui sono aggiunti i comandi? I nomi dei parametri sembrano ridondanti?
Qualsiasi aiuto apprreciated, Grazie, Gareth
Questo è un po 'fastidioso, vabbè, dovrà modificare il codice per aggiungere i valori nella corretta Per favore, grazie – Gaz
è terribilmente fastidioso. Sul serio. E se mai provi ODBC, penso, sei pronto per "?" come nome param o qualcosa del genere (molto tempo fa);) – TomTom
Strano, perché 'DbParameter' NON ha un campo ParameterName - penseresti che se' OleDbParameter' non usa il ParameterName, non lo aggiungerebbero alla classe .. –