C# – 使用TableAdapter从存储过程返回单个值返回null

我不明白,但我添加到表适配器的存储过程只返回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 

任何人都可以告诉我如何解决这个问题? 任何帮助将不胜感激!

标量期望结果,而不是回报。 定义,它寻找第一列,第一行。 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx

尝试

 DECLARE @r int SET @r = 7 SELECT @r 

如果存储过程返回单个值,我建议您使用ExecuteScalar而不是寻求此解决方案。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx

您使用的是类型化数据集吗? 如果是这样,请确保将存储过程设置为返回标量值。