在编写执行存储过程的函数时,我正在搞乱某个地方。我想我不知道如何执行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
答案 0 :(得分:0)
我猜你为@StateInitials传递给SP的值有多个字符,但是因为你没有指定varchar参数的大小(例如,varchar(25)),所以被截断为只有一个字符,因此没有匹配。
请参阅here
在数据中未指定n时 定义或变量声明 声明,默认长度为1。