powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Использование переменных в запросе к MySQL из C#
6 сообщений из 6, страница 1 из 1
Использование переменных в запросе к MySQL из C#
    #36541268
pr37aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такой пример кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
MySqlConnection myConn = new MySqlConnection("server=127.0.0.1;user id=root;Password=12345;database=test;character set=utf8");
MySqlCommand myComm;
try
{
myConn.Open();
myComm = new MySql.Data.MySqlClient.MySqlCommand();
myComm.Connection = myConn;
myComm.CommandText = "SET @aa=1; SELECT @aa;";
object ret = myComm.ExecuteScalar();
if (ret != null)
{
MessageBox.Show(ret.ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(string.Format("Error: {0}", ex.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
myConn.Close();
}

При попытке выполнить такой запрос будет ошибка:
ex.Message = "Fatal error encountered during command execution."
ex.InnerException = "Parameter '@aa' must be defined."


Выполняя этот же запрос, к примеру в MySQL-Front, результат без ошибок!

Не могу понять в чем дело и почему так.

Конфигурация: MS VS 2008, MySQL Server 6.0, MySQL Connector Net 6.1.2.
...
Рейтинг: 0 / 0
Использование переменных в запросе к MySQL из C#
    #36543927
SorokodumovO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr37aleks,

а где определяется параметр запроса?
...
Рейтинг: 0 / 0
Использование переменных в запросе к MySQL из C#
    #36543939
curiousMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не знаю как в MySQL, а в SQL-92, переменные надо объявлять
Код: plaintext
1.
DECLARE @aa int; SET @aa=1;
...
Рейтинг: 0 / 0
Использование переменных в запросе к MySQL из C#
    #36544003
SorokodumovO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
curiousMan,

вот вот... Нужно же не только объявить переменную, но и задать ей значение.
В MySQL так же как и в MS SQL
...
Рейтинг: 0 / 0
Использование переменных в запросе к MySQL из C#
    #36547356
pr37aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
curiousManне знаю как в MySQL, а в SQL-92, переменные надо объявлять
Код: plaintext
1.
DECLARE @aa int; SET @aa=1;


Правильное начало, но через MySQL Connector такое бы не сработало. Решение я нашел - http://www.gotdotnet.ru/forums/1/128412
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Использование переменных в запросе к MySQL из C#
    #38043718
NeoGarRiGus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже столкнулся с этой проблемой и нашёл достаточно простое решение.
В ConnectionString необходимо было добавить ";Allow User Variables=True"
После этого переменные начинают работать так же, как в консоли MySql

источник:
http://stackoverflow.com/questions/10323129/sign-in-mysql-query-in-asp-net
http://stackoverflow.com/questions/5524632/how-can-i-use-a-mysql-user-defined-variable-in-a-net-mysqlcommand
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Использование переменных в запросе к MySQL из C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]