sqlclr返回数据集案例

----------------------------------------------返回一张表,但只有一条数据,最后一次设置的。
[Microsoft.SqlServer.Server.SqlProcedure]
public static void sqlDataRecord()
{
// 在此处放置代码
SqlDataRecord sr = new SqlDataRecord(new SqlMetaData[]{
new SqlMetaData("Name",SqlDbType.VarChar,50),
new SqlMetaData("Age",SqlDbType.Int)
});
sr.SetString(0, "郭增");
sr.SetInt32(1,23);
sr.SetString(0, "郭增");
sr.SetInt32(1, 24);
SqlContext.Pipe.Send(sr);
}
--------------如果这样,就会返回两个结果集,相当于两个select * from table 语句,但每个结果集只有一条数据;
sr.SetString(0, "郭增");
sr.SetInt32(1, 23);
SqlContext.Pipe.Send(sr);
sr.SetString(0, "郭增");
sr.SetInt32(1, 24);
SqlContext.Pipe.Send(sr);
----------------------------------------------这样会返回一个有两条记录的结果集合;
//SqlContext.Pipe.SendResultsStart(sr);
//sr.SetString(0, "郭增");
//sr.SetInt32(1, 23);
//SqlContext.Pipe.SendResultsRow(sr);
//sr.SetString(0, "郭增");
//sr.SetInt32(1, 24);
//SqlContext.Pipe.SendResultsRow(sr);
//SqlContext.Pipe.SendResultsEnd();

原文地址:https://www.cnblogs.com/guozefeng/p/3625614.html