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