Mysql
 sql >> база данни >  >> RDS >> Mysql

Подготвено изявление е в конфликт с потребителски променливи

Що се отнася до активирането на SET с дефинирани от потребителя променливи в низ на заявка, трябва да декларирате Allow User Variables=True в низ за връзка, или в web.config, или в MySqlConnection определение:

Web.config

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

Ръчна дефиниция

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

Дефинираната от потребителя настройка на променлива, налична от версия 5.2.2 на .NET Connector, както е предоставено в това обяснение .

Свързан проблем:

Как мога да използвам MySql дефинирана от потребителя променлива в .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 Получаване на целия ред въз основа на минималната стойност на изчислената колона

  2. Две колони с автоматично нарастване или автоматично увеличение и същата стойност в друга колона

  3. Въпроси относно SOLR документи и други

  4. Празен PHP изход от MySQL база данни за longblob

  5. SQL:ДОБАВЯНЕ &МИНУС въз основа на типа на полето