首页 > 开发 > 综合 > 正文

将多次查询的数据填充到同一数据源

2024-07-21 02:28:28
字体:
来源:转载
供稿:网友

    在代码编写中经常使用dataset做为控件的数据源,通常一个控件只能绑定一个数据源。如果要将多次查询数据库的结果绑定到一个控件中,就必须把多次查询的结果填充到同一个数据源中。当然此功能也可以动态画表格来实现,不过我感觉动态处理表格实在是太麻烦了。为此做了以下测试并且试验成功,现在分享出来。

     原理:将多次查询的结果填充到同一个dataset的同一张table中,不过两次填充时要将字段as成同样的别名,要不然就会出现不必要的null行。

    代码如下:

 1private void databing()
 2        {
 3            string sql1="select xqid as yhm ,xqmc as zsxm from xt_xq";//
 4            string sql2="select xt_zdb_style as yhm ,description as zsxm from xt_zdb";//sql1 、sql2使用相同的字段别名yhm、zsxm
 5            using (oracleconnection connection = new oracleconnection("data source=abeen;user id=system;password=abeen;"))
 6            {
 7                dataset ds = new dataset();
 8                try
 9                {
10                    connection.open();
11                    oracledataadapter command = new oracledataadapter(sql2,connection);               
12                    command.fill(ds,0,5,"tablename");//第一次填充数据到tablename
13                    command = new oracledataadapter(sql1,connection);   
14                    command.fill(ds,"tablename");//第二次填充数据到tablename
15               
16                    this.datagrid1.datasource=ds;//两次填充的结果都在ds的tablename中
17                    this.datagrid1.databind();
18                }
19                catch(system.data.oracleclient.oracleexception ex)
20                {               
21                    throw new exception(ex.message);
22                }   
23
24            }           
25        }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表