Kann .NET MySqlCommand benutzerdefinierte MySQL-Variablen nutzen?
Das Ausführen einer MySQL-Abfrage in .NET mit MySqlAdapter kann zu Herausforderungen führen, wenn die Abfrage verwendet wird Benutzerdefinierte Variablen.
Spezifische Abfrage Versuch:
Die folgende SQL-Anweisung versucht, Zeilennummern unterschiedlichen Zeilen zuzuweisen:
SELECT @rownum := @rownum +1 rownum, t . * FROM ( SELECT @rownum :=0 ) r, ( SELECT DISTINCT TYPE FROM `node` WHERE TYPE NOT IN ('ad', 'chatroom') )t
Ausnahme aufgetreten:
Wenn dies der Fall ist Wenn die Abfrage in .NET ausgeführt wird, tritt eine Ausnahme auf, da die @rownum-Variable als Parameter interpretiert wird, was explizit erforderlich ist Definition.
Lösung:
Um dieses Problem zu beheben, muss angegeben werden, dass Benutzervariablen in der Verbindungszeichenfolge zulässig sind. Dies kann durch Hinzufügen des folgenden Parameters erreicht werden:
;Allow User Variables=True
Aktualisierte Verbindungszeichenfolge:
sqlConnection.ConnectionString = "Data Source=localhost;Initial Catalog=myDb;Username=myUser;Password=myPwd;Allow User Variables=True";
Zusätzliche Informationen:
Diese Lösung ist mit neueren Versionen des .NET Connector für MySQL kompatibel. Weitere Einzelheiten finden Sie in diesem Blog: [How to Use User Defined Variables in .NET with MySQL] (verlinkter Blog).
Das obige ist der detaillierte Inhalt vonKann .NET MySqlCommand benutzerdefinierte MySQL-Variablen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!