在C#或vb.net中,怎么递归调用一个存储过程(存储过程退回上级ID)
数据表结构如下:
会员ID 上一级ID 会员金额
1 0 100
2 1 50
3 2 20
--存储过程大致如下:
ALTER PROCEDURE [dbo].[SP_USERS]
@会员id int
AS
SELECT convert(varchar(10),上一级ID) + '|' + convert(varchar(10),会员金额) FROM TB WHERE 会员ID=@会员id
问题:
我在程序中想现实:
exec SP_USERS @会员id= 上级ID
在C#或VB.NET程序中,怎么循环执行这个存储过程,上级返回0才退出这个循环。
------解决方案--------------------调用存储过程你会吧
private int GetParentID(int id)
{
int pid=调用存储过程函数(id);
if(pid==0)
return 0;
else
return GetParentID(pid);
}
private int 调用存储过程函数(int id)
{
//这里调用存储过程,返回id的上一ID
}