sql >> Database teknologi >  >> RDS >> Mysql

Udarbejdet erklæring, der er i konflikt med brugervariabler

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 [email protected] 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?




  1. Introduktion af ny funktion:Always On Availability Group

  2. Forespørger om Oracle Clob-datatype

  3. Oracle trækker dage og minutter fra

  4. Markørbaserede poster i PostgreSQL