Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > вызов хранимки


Автор: 4ybaka 27.12.2007, 19:03
есть такая хранимка:
Код

CREATE PROCEDURE GetUser 
    @UserID int
AS
BEGIN
    select UserName from LoginData where UserID = @UserID
END

пытаюсь ее вызвать следующим образом:
Код

        connection.Open();
        SqlCommand com = new SqlCommand("GetUser", connection);
        com.Parameters.AddWithValue("@UserID", 0);
        string res = Convert.ToString(com.ExecuteScalar());
        connection.Close();

если вызывать из mssmse,то выдает все нормально.а так говорит "Неправильный синтаксис около "@GetUser"".где неправ?

Автор: thomas 27.12.2007, 19:46
4ybaka
Привет.
Во первых надо указать что тип команды хранимая процедура
Код

connection.Open();
        SqlCommand com = new SqlCommand("GetUser", connection);
        com.CommandType = CommandType.StoredProcedure; // ЗДЕСЬ!!! пропустил.
        com.Parameters.AddWithValue("@UserID", 0);
        string res = Convert.ToString(com.ExecuteScalar());
        connection.Close();

 А во вторых, твой параметр @UserID равен нулю  smile У какой записи может быть id равно нулю?
Код

com.Parameters.AddWithValue("@UserID", 0);

Автор: 4ybaka 27.12.2007, 20:08
спасибо,работает)

Цитата(thomas @  27.12.2007,  19:46 Найти цитируемый пост)
А во вторых, твой параметр @UserID равен нулю   У какой записи может быть id равно нулю?

так если поставить чтоб identity шел от 0 с шагом 1,то и получим,что у первого элмента id=0.

Автор: thomas 27.12.2007, 20:54
4ybaka
Вообще то если на SQL Server установить полю автонумерацию, то по умолчанию отсчёт начинается с ЕДИНИЦЫ и с шагом в единицу.
Ноль в качестве ID я вижу в первый раз у тебя.   smile

Добавлено через 35 секунд
ЗЫ не забываем пометить вопрос как решённый!  smile 

Автор: 4ybaka 27.12.2007, 21:03
хоть где-то первый  smile 

есть еще один вопрос по теме http://forum.vingrad.ru/forum/topic-189264.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)