C# 执行存储过程的SqlHelper.ExecuteReader函数

C# 执行存储过程的SqlHelper.ExecuteReader函数,c#,asp.net,sql,C#,Asp.net,Sql,在编写执行存储过程的函数时,我在某个地方搞砸了。我想我不知道如何执行SqlHelper.ExecuteReader。在SQLServer2005中 这应该返回状态名称。但我把它弄空了。知道吗,为什么 提前感谢:) 以及存储的进程: Create PROCEDURE [dbo].[GetStateName]( @StateInitials varchar ) AS Begin SELECT StateName FROM StateList WHERE StateInitials=@Stat

在编写执行存储过程的函数时,我在某个地方搞砸了。我想我不知道如何执行SqlHelper.ExecuteReader。在SQLServer2005中

这应该返回状态名称。但我把它弄空了。知道吗,为什么

提前感谢:)

以及存储的进程:

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

AS 

Begin

SELECT StateName FROM StateList WHERE StateInitials=@StateInitials

End

我猜您为@StateInitials传递给SP的值有多个字符,但由于您没有指定varchar参数(例如varchar(25))的大小,该值被截断为仅一个字符,因此没有匹配项

当数据中未指定n时 定义或变量声明 语句,默认长度为1


如果您可以给出sql存储过程以及要传递的参数,那么回答这个问题会很有帮助。GetStateName是存储过程!!我确实添加了storedproc。谢谢你的帮助。我真的很感激!!如果从sql DB手动运行存储过程,它是否返回正确的结果?如果是,那么问题可能是您传递sql参数的方式扫描您向我们展示了如何声明/设置
参数
Create PROCEDURE [dbo].[GetStateName](
@StateInitials varchar
)

AS 

Begin

SELECT StateName FROM StateList WHERE StateInitials=@StateInitials

End