存储过程要返回3张表,用datatable存放,如何得到.网上查了很久都没结果,类似于
存储过程文件:
执行三条Sql语句:exec @sql1
exec @sql2
exec @sql3然后在cs文件中取得存储过程 SqlDBConnection dbconn = new SqlDBConnection();
SqlDataAdapter objAdapter = new SqlDataAdapter();
SqlConnection SqlConn = new SqlConnection();
SqlConn = dbconn.CreatSqlConnection();
SqlConn.Open(); DataTable dt=new DataTable();
DataTable dt1=new DataTable();
SqlCommand selectCMD = new SqlCommand("StoredProcedure2",SqlConn);
selectCMD.CommandType = CommandType.StoredProcedure;
objAdapter.SelectCommand = selectCMD;
objAdapter.Fill(dt);
objAdapter.Fill(dt1);
objAdapter.Fill(dt2);
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
DataGrid2.DataSource = dt1;
DataGrid2.DataBind();
DataGrid3.DataSource = dt2;
DataGrid3.DataBind();这样的方法肯定不对,只是凭空想象的,因为前面的DataGrid只接收到了一张表的信息,请哪位高人能指点一下,谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~
存储过程文件:
执行三条Sql语句:exec @sql1
exec @sql2
exec @sql3然后在cs文件中取得存储过程 SqlDBConnection dbconn = new SqlDBConnection();
SqlDataAdapter objAdapter = new SqlDataAdapter();
SqlConnection SqlConn = new SqlConnection();
SqlConn = dbconn.CreatSqlConnection();
SqlConn.Open(); DataTable dt=new DataTable();
DataTable dt1=new DataTable();
SqlCommand selectCMD = new SqlCommand("StoredProcedure2",SqlConn);
selectCMD.CommandType = CommandType.StoredProcedure;
objAdapter.SelectCommand = selectCMD;
objAdapter.Fill(dt);
objAdapter.Fill(dt1);
objAdapter.Fill(dt2);
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
DataGrid2.DataSource = dt1;
DataGrid2.DataBind();
DataGrid3.DataSource = dt2;
DataGrid3.DataBind();这样的方法肯定不对,只是凭空想象的,因为前面的DataGrid只接收到了一张表的信息,请哪位高人能指点一下,谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~
比如为ID_N
则:
select * from test1 a
join test2 b on a.ID_N=b.ID_N
join test3 c on c.ID_N=a.ID_N
where ??
order by ?? desc
当然这里的test1是主表
join
left join
right join
它们的用法