三表联查的存储过程,结果有三张表,怎样用GridView显示
求助:三表联查的存储过程,结果有三张表,怎样用GridView显示?
三表联查的存储过程,在数据库中查询结果有三张表,怎样用GridView分别显示?配置数据源后,只能显示第一个表。
sql server2008r2+vs2013
------解决方案--------------------
三表联查结果放在DataSet里面
过滤DataSet得到不同的表格DataTable
然后不同GridView分别绑定不同表的DataTable
------解决方案--------------------
参考这里:
http://www.cnblogs.com/insus/p/3872394.html
如果不符合你的要求,继续讨论。
------解决方案--------------------
刚才有网友反馈性能问题,看评论。Insus.NET也作优化了一下。
------解决方案--------------------
这是问题所在,所以你现在要做的是把执行存储过程之后的结果再进行筛选,然后分别绑定到三个不同的gridview当中
1.把你获得执行存储过程之后的结果,那段代码贴上来帮你修改,或者你参考下面的代码自己修改:
使用存储过程返回一个数据集,SqlCommand -〉SqlDataAdapter -〉DataSet
SqlConnection userConnection = Connection.getConnection();
SqlCommand userCommand = new SqlCommand("storepname", userConnection);
userCommand.CommandType = CommandType.StoredProcedure;//采用存储过程
userCommand.Parameters.Add("@pa", SqlDbType.VarChar, 50);//存储过程参数
userCommand.Parameters["@pa"].Value = pa;//给参数赋值
userCommand.Connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter(userCommand);
DataSet ds = new DataSet();
adapter.Fill(ds);
接着是将这个dataset的三张表分别绑定到三个gridview当中:
gridviewId1.DataSource= ds.Tables[0];
gridviewId2.DataSource= ds.Tables[1];
gridviewId3.DataSource= ds.Tables[2];
有不懂的请继续提问
三表联查的存储过程,在数据库中查询结果有三张表,怎样用GridView分别显示?配置数据源后,只能显示第一个表。
sql server2008r2+vs2013
------解决方案--------------------
三表联查结果放在DataSet里面
过滤DataSet得到不同的表格DataTable
然后不同GridView分别绑定不同表的DataTable
------解决方案--------------------
参考这里:
http://www.cnblogs.com/insus/p/3872394.html
如果不符合你的要求,继续讨论。
------解决方案--------------------
刚才有网友反馈性能问题,看评论。Insus.NET也作优化了一下。
------解决方案--------------------
这是问题所在,所以你现在要做的是把执行存储过程之后的结果再进行筛选,然后分别绑定到三个不同的gridview当中
1.把你获得执行存储过程之后的结果,那段代码贴上来帮你修改,或者你参考下面的代码自己修改:
使用存储过程返回一个数据集,SqlCommand -〉SqlDataAdapter -〉DataSet
SqlConnection userConnection = Connection.getConnection();
SqlCommand userCommand = new SqlCommand("storepname", userConnection);
userCommand.CommandType = CommandType.StoredProcedure;//采用存储过程
userCommand.Parameters.Add("@pa", SqlDbType.VarChar, 50);//存储过程参数
userCommand.Parameters["@pa"].Value = pa;//给参数赋值
userCommand.Connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter(userCommand);
DataSet ds = new DataSet();
adapter.Fill(ds);
接着是将这个dataset的三张表分别绑定到三个gridview当中:
gridviewId1.DataSource= ds.Tables[0];
gridviewId2.DataSource= ds.Tables[1];
gridviewId3.DataSource= ds.Tables[2];
有不懂的请继续提问