我不明白,但我添加到表适配器的存储过程只返回null值。它应该返回一个简单的整数值。在我使用数据集desinger的预览中,我可以清楚地得到我想要的整数值。但由于某种原因,我无法从我的代码中获得价值。
我按照MSDN库的说明操作: http://msdn.microsoft.com/en-us/library/37hwc7kt(VS.80).aspx
我的c#代码是:
humansDataSetTableAdapters.ProfilesTableAdapter tableAdapter
= new humansDataSetTableAdapters.ProfilesTableAdapter();
int returnValue = (int)tableAdapter.getSample();
Console.Write(returnValue);
我的存储过程getSample代码是:
DECLARE @r int
SET @r = 7
RETURN @r
任何人都可以告诉我如何解决这个问题? 任何帮助将不胜感激!
答案 0 :(得分:3)
Scalar期待结果,而不是回报。定义,它寻找第一列,第一行。 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx
尝试
DECLARE @r int
SET @r = 7
SELECT @r
答案 1 :(得分:1)
如果存储过程返回单个值,我建议您使用ExecuteScalar
而不是寻求此解决方案。
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx
答案 2 :(得分:0)
您使用的是类型化数据集吗?如果是这样,请确保将存储过程设置为返回标量值。