Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в хранимой процедуре, Полтергейц? 
V
    Опции темы
ДобренькийПапаша
Дата 21.7.2009, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Возможно зарапортовался и не вижу чего-то простого...

Есть такой элементарный код хранимой процедуры:
Код

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE GetFacCourses
@FacShortName varchar(50)
AS
BEGIN
    
    SET NOCOUNT ON;

    SELECT MAX(Course) 
    FROM Groups 
    INNER JOIN Faculties 
    ON Groups.Faculty=Faculties.id 
    WHERE Faculties.ShortName= @FacShortName

END
GO


Если выполняю в Management Studio запрос:
Код

EXEC GetFacCourses 'ИНФО'


то получаю результат: 3
То, что надо. Если вызываю вот так в C#:
Код

string curNodeName = curNode.Text;
                                SqlCommand cmdForCourses = new SqlCommand("GetCourses", curConnect);

                                SqlParameter GetCoursesInParam = new SqlParameter();
                                GetCoursesInParam.ParameterName = "@FacShortName";
                                GetCoursesInParam.SqlDbType = SqlDbType.VarChar;
                                GetCoursesInParam.Size = 50;
                                GetCoursesInParam.Value=curNodeName;
                                GetCoursesInParam.Direction = ParameterDirection.Input;
                                cmdForCourses.Parameters.Add(GetCoursesInParam);
                                object tmpObj = cmdForCourses.ExecuteScalar();
                                int CoursesCount = (int)tmpObj;


то получаю исключение и описание: Неправильный синтаксис возле GetFacCourses


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
WarHog
Дата 21.7.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.10.2007
Где: Воронеж

Репутация: 1
Всего: 2



ДобренькийПапаша, а почему у тебя при создании SqlCommand задается "GetCourses", а имя хранимой процедуры - "GetFacCourses"? и когда вызываешь хранимку через SqlCommand, нужно задать CommandType:
Код

SqlCommand cmdForCourses = new SqlCommand("GetFacCourses", curConnect);
cmdForCourses.CommandType = CommandType.StoredProcedure;

--------------------
PM MAIL   Вверх
ДобренькийПапаша
Дата 21.7.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



да уже сам догадался, забыл, и сижу туплю. так всегда оно и бывает. Всё равно спасибо)))


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.