Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przygotowana instrukcja sprzeczna ze zmiennymi użytkownika

Co do włączenia SET ze zmiennymi zdefiniowanymi przez użytkownika w ciągu zapytania należy zadeklarować Allow User Variables=True w parametrach połączenia, w web.config lub w MySqlConnection definicja:

Web.config

<connectionStrings>
    <add name="DefaultConnection" connectionString="server=ServerName;database=DatabaseName;uid=UserName;pwd=Password;
     Allow User Variables=True" />
</connectionStrings>

Definicja ręczna

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
    }
}

Ustawienie zmiennej zdefiniowanej przez użytkownika dostępne od wersji 5.2.2 .NET Connector, jak podano w to wyjaśnienie .

Powiązany problem:

Jak mogę użyć zmiennej zdefiniowanej przez użytkownika MySql w .NET MySqlCommand?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Pobieranie całkowitej sumy jako podselekcji bardzo wolno

  2. Zdobądź kolejne zamówienie po limicie

  3. Wybór pływaka w MySQL

  4. Generowanie losowego i unikalnego ciągu 8 znaków za pomocą MySQL

  5. Użycie select do zmiennej lokalnej i przygotowanej instrukcji w mysql