SqlHelper.ExecuteReader Функция, которая выполняет хранимую процедуру - PullRequest
0 голосов
/ 13 сентября 2010

Я где-то напутал, когда пишу функцию для выполнения хранимой процедуры. Я думаю, у меня нет идеи, как выполнить SqlHelper.ExecuteReader. в SQL Server 2005

Это должно вернуть название штата. Но я получаю это пустым. Есть идеи, почему ??

Заранее спасибо:)

reader = SqlHelper.ExecuteReader(DbConnString, System.Data.CommandType.StoredProcedure, "GetStateName", parameters);
while (reader.Read())
    StateName = reader["StateName"].ToString();
return StateName;

и сохраненный процесс:

Create PROCEDURE [dbo].[GetStateName](
@StateInitials varchar
)

AS 

Begin

SELECT StateName FROM StateList WHERE StateInitials=@StateInitials

End

1 Ответ

0 голосов
/ 13 сентября 2010

Я предполагаю, что значение, которое вы передаете в SP для @StateInitials, имеет более одного символа, но поскольку вы не указали размер параметра varchar (например, varchar (25)), значение сокращается до одного символа, поэтому совпадений нет.

См. здесь

Когда n не указано в данных определение или объявление переменной оператор, длина по умолчанию равна 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...