Med hensyn til aktiver SET med brugerdefinerede variabler i en forespørgselsstreng, skal du erklære Allow User Variables=True i forbindelsesstreng, enten i web.config eller i MySqlConnection definition:
Web.config
<connectionStrings>
<add name="DefaultConnection" connectionString="server=ServerName;database=DatabaseName;uid=UserName;pwd=Password;
Allow User Variables=True" />
</connectionStrings>
Manuel definition
string connectionString = @"server=ServerName;database=DatabaseName;uid=UserName;pwd=Password;
Allow User Variables=True";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
string sqlCommand = "SET @userVar1 := 18; select * from db where example@sqldat.com AND age > @userVar1"
connection.Open();
using (MySqlCommand command = new MySqlCommand(sqlCommand, connection))
{
// add required parameters here
// and call ExecuteReader() afterwards
}
}
Den brugerdefinerede variabelindstilling tilgængelig fra version 5.2.2 af .NET Connector som angivet i denne forklaring .
Relateret problem:
Hvordan kan jeg bruge en MySql brugerdefineret variabel i en .NET MySqlCommand?