如果输出是table的话可以用
DataSet.Tables[0]
DataSet.Tables[1]
来拿结果两个sp的结果集
DataSet.Tables[0]
DataSet.Tables[1]
来拿结果两个sp的结果集
解决方案 »
- 时间戳的长度,通常设置为多大?
- 请教个vs中的数据库的问题
- C#做一个游戏的自动喊话系统,求教,求源码
- 问一个关于float类型精度的问题
- 如果一个界面上有一个ImageList,C#能不能向Delphi那样不用代码就调用他?
- 种写法效率高
- 帮忙看看说是第一行的错误(以前一直运行正常)
- 郁闷阿。。。。。。。。。。。。。csdn 上的人理解能力这么差阿。400分一个周,为什么回答的问题都文不对题,反而说我的思路有问题,很常
- DataBingding问题(在线)
- 求助:winform子窗体控件值保存的问题
- 怎么将从串口读取的数据显示在richTextBox中
- asp.net (c#)高手请进来看看!!求助啊..
DataSet.Tables[0]
DataSet.Tables[1]
来拿结果两个sp的结果集
执行
proc1 'a'
得到
1 2
1 3
1 4
执行 proc1 'b'
得到
1 5
1 6
2 7
现在想在一个存储过程中得到
a 1 2
a 1 3
a 1 4
b 1 5
b 1 6
b 2 7
即在一个存储过程中用不同的参数执行相同的存储过程,并把参数,结果集合并到一张表中输出.
DataTable dt3 = dt1.Clone();
for (int i = 0; i < dt2.Columns.Count; i++)
{
dt3.Columns.Add(dt2.Columns[i].ColumnName);
}
object[] obj = new object[dt3.Columns.Count];for (int i = 0; i < dt1.Rows.Count; i++)
{
dt1.Rows[i].ItemArray.CopyTo(obj, 0);
dt3.Rows.Add(obj);
}
if (dt1.Rows.Count >= dt2.Rows.Count)
{
for (int i = 0; i < dt2.Rows.Count; i++)
{
for (int j = 0; j < dt2.Columns.Count; j++)
{
dt3.Rows[i][j + dt1.Columns.Count] = dt2.Rows[i][j].ToString();
}
}
}
else
{
DataRow dr3;
for (int i = 0; i < dt2.Rows.Count - dt1.Rows.Count; i++)
{
dr3 = dt3.NewRow();
dt3.Rows.Add(dr3);
}
for (int i = 0; i < dt2.Rows.Count; i++)
{
for (int j = 0; j < dt2.Columns.Count; j++)
{
dt3.Rows[i][j + dt1.Columns.Count] = dt2.Rows[i][j].ToString();
}
}
}