当我写一个函数来执行存储过程时,我在某个地方搞砸了。我想我不知道如何执行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发布于 2010-09-13 23:13:34
我猜您为@StateInitials传递给SP的值有多个字符,但是因为您没有指定varchar参数的大小(例如varchar(25)),所以该值被截断为一个字符,因此没有匹配。
请参阅here
如果未在数据定义或变量声明语句中指定n,则缺省长度为1。
https://stackoverflow.com/questions/3701579
复制相似问题