Aad*_*ada 4 c# sql-server ado.net
我需要从存储过程返回一个数组.在客户端,最后需要使用c#和ado.net检索数据.
CREATE PROCEDURE [dbo].[usp_testing]
AS
BEGIN
DECLARE @ARRAY TABLE(sno int,id nvarchar(50)
INSERT @ARRAY(sno,id) values(1,'v123')
INSERT @ARRAY(sno,id) values(2,'v124')
INSERT @ARRAY(sno,id) values(3,'v124')
END
Run Code Online (Sandbox Code Playgroud)
需要返回此@Array表并将其检索到客户端
@ARRAY不是数组:它是一个表.获得表格的机制简单而且实践得很好:
select * from @ARRAY
Run Code Online (Sandbox Code Playgroud)
要在客户端获取它,请使用ExecuteReader或类似DataTable的东西,如果它让你开心.或者像小巧玲珑的东西:
var arr = connection.Query(
"usp_testing", commandType: CommandType.StoredProcedure)
.Select(row => Tuple.Create((int)row.sno, (string)row.id)).ToArray();
Run Code Online (Sandbox Code Playgroud)
这是一组元组.