C# 如何用C语言中的SQL数据读取器读取SQL函数值#

C# 如何用C语言中的SQL数据读取器读取SQL函数值#,c#,sql,ado.net,C#,Sql,Ado.net,嗨,我有一个表tblRegistration,它有三个字段 Member_ID(int) Left_Placement(Int) Right_Placement(int) 还有一个功能 CREATE FUNCTION [dbo].[fnGetChildCount]( @ParentId INT ) RETURNS INT BEGIN DECLARE @ChildCount INT DECLARE @Left INT DECLARE @Right INT SET @ChildCount

嗨,我有一个表
tblRegistration
,它有三个字段

Member_ID(int)  Left_Placement(Int) Right_Placement(int)
还有一个功能

CREATE FUNCTION [dbo].[fnGetChildCount](
@ParentId INT
)
RETURNS INT
BEGIN
 DECLARE @ChildCount INT
 DECLARE @Left INT
DECLARE @Right INT


SET @ChildCount = 0
 IF NOT @ParentId IS NULL AND @ParentId <> 0
 BEGIN
 SET @ChildCount = 1
 SELECT @Left = Left_Placement, @Right = Right_Placement FROM tblRegistration WHERE Member_ID = @ParentId
SELECT @ChildCount = @ChildCount + [dbo].[fnGetChildCount](@Left)
 SELECT @ChildCount = @ChildCount + [dbo].[fnGetChildCount](@Right)
 END
 RETURN @ChildCount
END;
若要读取非表列的左计数和右计数,则

如何将
左计数(dbo.fnGetChildCount(LEFT\u位置)读取为[LEFT COUNT])和右计数(dbo.fnGetChildCount(RIGHT\u位置)读取为[RIGHT COUNT])


提前感谢

使用列别名检索计算的列值

string leftCount = dr["Left Count"].ToString();
string rightCount = dr["Right Count"].ToString();

仅供参考:这种东西在存储过程中通常表现得更好。当使用
datareader阅读时,您不必用
[]
包装列名。Rummell先生,这是工作字符串leftCount=dr[“leftCount”]。ToString();字符串rightCount=dr[“Right Count”].ToString();
string leftCount = dr["Left Count"].ToString();
string rightCount = dr["Right Count"].ToString();