Как использовать пользовательские переменные MySQL с ADO.NET - PullRequest
3 голосов
/ 08 февраля 2011

MySQL SQL команды могут содержать пользовательские переменные, которые начинаются с'@'.

Соединитель MySQL ADO.NET также использует '@' для параметров команды.

Есть ли способ избежать символа '@', чтобы я мог использовать пользовательскую переменную в выражении SQL, отправляемом в MySQL через ADO.NET?


Я пытаюсь сделать что-то вроде этого:

UPDATE company 
    SET next_job_id = @jobid:=next_job_id+1 
    WHERE company_id = @companyid; 
SELECT @jobid;

Где @jobid - переменная пользователя MySQL, а @companyid - параметр.

1 Ответ

7 голосов
/ 08 февраля 2011

Это опция строки подключения - «Allow User Variables = true»

Если задано значение true, для параметров добавляется префикс «?».

Обновление: я написал больше оэто, в том числе, как заставить это работать с ADO.NET и Subsonic. Смотрите здесь .

...