Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Вызов хранимой процедуры из C# (Godfather) 26/04/2007 - 11:36:31
      Re: Вызов хранимой процедуры из C# (Sergey) 27/07/2011 - 21:48:31



From: Godfather - 26/04/2007 - 11:36:31
Subject:Вызов хранимой процедуры из C#
-----------------
Добрый день! Я C#-программист и только начал использовать хранимые процедуры в MySQL. Помогите, пожалуйста, решить проблему, которая у меня возникла в самом начале.

Есть хранимая процедура. Я её создаю кодом, но проверил и через GUI Administrator.

CREATE PROCEDURE `sp_GetAll`(IN foo VARCHAR(255))
BEGIN
SELECT * FROM foo;
END

Код C#:

OdbcCommand cmdGet = new OdbcCommand();
cmdGet.Connection = odbcConnection; // уже созданное и открытое соединение. обычные запросы работают на ура!
cmdGet.CommandType = CommandType.StoredProcedure;
cmdGet.CommandText = "CALL sp_GetAll";

OdbcParameter paramTableName = new OdbcParameter("foo", OdbcType.VarChar, 255);
paramTableName.Value = "some_table";
paramTableName.Direction = ParameterDirection.Input;
cmdGet.Parameters.Add(paramTableName);

OdbcDataReader readerGet = cmdGet.ExecuteReader();

Вопрос: как правильно передавать параметр?
Я пробовал через .Parameters.Add(), через .Parameters[""] и при вызове самой процедуры в sp_GetAll("sometable");

Что значат символы @ ? или без в начале имени параметра (в доках на mysql.com я об этом ни слова не нашёл)

Играет ли роль использование не MySQL .NET Connector'а а System.Data.Odbc-методов? (в строке соединения указан драйвер ODBC 3.51)

Выдаёт две ошибки: либо "Incorected number of arguments for PROCEDURE mydb.sp_GetAll; expected 1, got 0." (если параметры указывать через словарь Paramaters) или "Uknown column 'sometable' in 'field list'" если в самом вызове.

Что я неправильно делаю?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
39303



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |