Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/43: Рейтинг темы: голосов - 43, средняя оценка - 4.93
1 / 1 / 1
Регистрация: 14.11.2011
Сообщений: 17
1

Вызвать хранимую процедуру из MS SQL Server с параметром

03.04.2012, 07:39. Показов 8421. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа, подскажите, пожалуйста, что я делаю не так.

Хочу вызвать простейшую хранимую процедуру (ХП):

T-SQL
1
2
3
4
5
6
ALTER PROCEDURE [dbo].[AddWord] 
   @Word NCHAR(50)
AS
BEGIN
   INSERT INTO word (Name, Upcase) VALUES (@Word, 0)
END
Если ее вызывать так:

C#
1
2
3
4
5
string word = "Тест";
SqlCommand SqlCom = SqlConnect.CreateCommand();
SqlCom.CommandType = CommandType.Text;
SqlCom.CommandText = "EXEC dbo.AddWord '" + word +"'";
SqlCom.ExecuteNonQuery();
То все работает, а если так:

C#
1
2
3
4
5
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "dbo.AddWord";
SqlCom.Parameters.Add(new SqlParameter("@Word", SqlDbType.NChar));
SqlCom.Parameters["@Word"].Value = word;
SqlCom.ExecuteNonQuery();
Или так:

C#
1
2
3
4
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "dbo.AddWord";
SqlCom.Parameters.AddWithValue("@Word", word); // С методом Add та же история
SqlCom.ExecuteNonQuery();
То имеем exception:

System.Data.SqlClient.SqlCommand
Для процедуры или функции AddWord указано слишком много аргументов.



Если вызвать без параметров:

C#
1
2
3
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "dbo.AddWord";
SqlCom.ExecuteNonQuery();
То получим:

System.Data.SqlClient.SqlCommand
Процедура или функция "AddWord" ожидает параметр "@Word", который не был предоставлен.


P.S. SQL Server 2005
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2012, 07:39
Ответы с готовыми решениями:

Как правильно вызвать хранимую процедуру с out параметром?
Есть хранимая процедура: PROCEDURE "NEWPAR_BARCODE_2" (RequestId number, ParamNames out...

Вызвать хранимую процедуру из MS SQL Server с параметром
Подскажите пожалуйста, что делать если выдает ошибку в Delhi А код вот такой: procedure...

Передача данных из клиента VB 6.0 в хранимую процедуру MS SQL Server 7.0 (+++)
В проге VB есть переменная Price as Currency Надо в хронимую процедуру на MS SQL Server 7.0...

Выполнить хранимую функцию или процедуру на сервере MS Sql Server
Здравствуйте. Подскажите как можно реализовать выполнение хранимой функции MS Sql Server с...

2
23 / 23 / 11
Регистрация: 05.02.2010
Сообщений: 314
07.04.2012, 12:52 2
C#
1
2
3
4
5
6
7
this.sqlConnect = new SqlConnection(this.connect.ConnectionString);
this.sqlConnect.Open();
this.sqlCommand = new SqlCommand(strProcedureName, sqlConnect);
this.sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
this.command.sqlCommand.Parameters.AddWithValue("@year", year);
this.command.sqlCommand.ExecuteNonQuery();
this.command.CloseConnection();
0
1 / 1 / 1
Регистрация: 14.11.2011
Сообщений: 17
09.04.2012, 21:47  [ТС] 3
rave82, спасибо.
До компа доберусь, попробую :-)
0
09.04.2012, 21:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2012, 21:47
Помогаю со студенческими работами здесь

Реализация select запроса используя хранимую процедуру - sql server
Здравствуйте в программе на с# имеется запрос такого типа: private void button1_Click(object...

Не могу использовать в MS SQL Server хранимую процедуру, где запрос длиннее 4000 символов
Объявляю строку запроса как nvarchar(4000)... Может есть какой способ обойти это? При замене типа...

Как вызвать в коде программы процедуру SQL Server-а???
Есть процедура CREATE PROCEDURE RunApp AS begin if (not object_id ('tempdb..##Сидоров') is...

Как вызвать хранимую процедуру из VS C#
Здравствуйте. Помогите пожалуйста. Есть Хранимая процедура в MS SQL CREATE PROCEDURE...

Как вызвать хранимую процедуру из VB?
Как вызвать хранимую процедуру из VB?

Как вызвать хранимую процедуру?
У меня есть тригер, в нем я хочу из хранимой процедуры получить данные и записать это в переменную ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru