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();