4 Stimmen

Kann ich einen Parameter mehrmals in derselben Abfrage verwenden?

Ich habe mich gefragt, ob ein Parameter mehr als einmal in derselben Abfrage verwendet werden kann, z. B. so:

MySqlParameter oPar0 = new MySqlParameter("e164", MySqlDbType.String);
oPar0.Value = user.E164;
string sSQL0 = "Delete from callmone.call where (caller=?e164 or called=?e164);";
clsDatabase.ExecuteSQL(sSQL0, oPar0);

Ist dies möglich oder sollte ich 2 Parameter schreiben?

4voto

Guffa Punkte 663241

Wenn der Datenbanktreiber benannte Parameter verarbeitet, können Sie den Parameter wiederverwenden.

Wenn der Datenbanktreiber nicht mit benannten Parametern umgehen kann, werden die Parameternamen ignoriert und Sie müssen für jede Verwendung einen Parameterwert hinzufügen, und zwar genau in der Reihenfolge, in der sie verwendet werden.

Aus dem Code, den Sie präsentiert haben, geht hervor, dass der Treiber benannte Parameter unterstützt. Wenn der Code ohne Fehler läuft, funktioniert er. Wenn der Treiber keine Namensparameter unterstützt, würde der Code einen Fehler verursachen, da es nur einen Parameterwert gibt.

2voto

ChrisF Punkte 130622

Ich wüsste keinen Grund, warum Sie das nicht tun könnten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X