多表DATASET的显示方法,自己乱搞的.

简介: 效果:表现层:Classlist.ascx       protected void Page_Load(object sender, EventArgs e)    {        dataclass datacls = (dataclass)Application["data"];        System.
效果:
{030A7B52-98FE-4378-A41D-6578B5532DF3}.JPG
表现层:
Classlist.ascx
<% @ Control Language = " C# "  ClassName = " classlist "   Debug = " true "   %>

< script runat = " server " >
   
    
protected   void  Page_Load( object  sender, EventArgs e)
    
{
        dataclass datacls 
= (dataclass)Application["data"];

        System.Data.DataSet ds 
= new System.Data.DataSet();
        ds
=datacls.getclasslist();
       
        
      
if (ds.Tables[0].Rows.Count > 0)
        
{
            
for (int i = 0; i <ds.Tables.Count; i++)
            
{
                PlaceHolder tt 
= new PlaceHolder();
                Label title 
= new Label();
               title.Text 
= ds.Tables[i].TableName;
                title.Font.Bold 
= true;
               tt.Controls.Add(title); 
                   
                DataList dl
=new DataList();
                dl.ItemTemplate 
= Page.LoadTemplate("/conterl/classitem.ascx");
                dl.RepeatDirection
=(RepeatDirection)0;
                dl.RepeatColumns 
= 4;
                dl.DataSource 
= ds.Tables[i];
                dl.DataBind();
                tt.Controls.Add(dl);
                PlaceHolder1.Controls.Add(tt);
            }

          
        }

       
       
    }

</ script >
< div id = " le_biaoti02 "   class = " left_biaoti " >
      
< img src = " ../image/bioti_02.gif "  width = " 60 "  height = " 26 "   />     
      
</ div >
       
< div id = " left_fenlei02 "   class = " left_fenlei "  runat = " server "   >
            
< asp:PlaceHolder ID = " PlaceHolder1 "  runat = " server " >
           
            
</ asp:PlaceHolder >
       
</ div >
/conterl/classitem.ascx
<% @ Control Language = " VB "    %>
 
<% # DataBinder.Eval(CType(Container, DataListItem).DataItem,  " error " %>
 
& nbsp; < a href = " class.aspx?id=<%# DataBinder.Eval(CType(Container, DataListItem).DataItem,  " ID " ) %> " >   <% #DataBinder.Eval(CType(Container, DataListItem).DataItem,  " classname " ) %></ a >< br  />

逻辑层:
///<summary>
    
/// 取得分类列表
    
/// </summary>

    public  DataSet getclasslist() 
   
{
        
try
        
{
            
string sqlstr = "";
            sqlstr 
= "select id,classname from classname where upid=0";
           DataSet dc
=new DataSet();
            dc
=getds(sqlstr);
            
            
if (dc.Tables[0].Rows.Count > 0)
            
{
                DataSet dl
=new DataSet();

                
for(int j=0;j<dc.Tables[0].Rows.Count;j++)
                
{
                sqlstr 
= "select top 3 id,classname from classname where upid=" + (int)dc.Tables[0].Rows[j]["id"];
                
                    dl
= getdsname(sqlstr, (string)dc.Tables[0].Rows[j]["classname"],dl);
                
                    dl.Tables[(
string)dc.Tables[0].Rows[j]["classname"]].Columns.Add("error");
                    DataRow drow;
                    drow 
= dl.Tables[(string)dc.Tables[0].Rows[j]["classname"]].NewRow();
                    drow[
"id"= (int)dc.Tables[0].Rows[j]["id"];
                    drow[
"classname"= "";
                    dl.Tables[(
string)dc.Tables[0].Rows[j]["classname"]].Rows.Add(drow);
                    
                }

       
                
return dl;
            }

            
else
            
{                
                
throw new Exception("no");
            }

        }

        
catch ( Exception ex)
        
{
            DataSet temp 
= new DataSet();
            DataTable dtServer 
= new DataTable();
            DataColumn dterror 
= new DataColumn("error");
            dterror.DataType 
= typeof(string);
            dtServer.Columns.Add(dterror);
            dtServer.Columns.Add(
"id"typeof(int));
            dtServer.Columns.Add(
"classname");
            DataRow drowServer;
            drowServer 
= dtServer.NewRow();
            drowServer[
"error"= ex.Message;
            dtServer.Rows.Add(drowServer);
            temp.Tables.Add(dtServer);
            
return temp;
        }

   }
数据层:
///<summary>
    
///返回Dataset类型的方法
    
///</summary>

     public  DataSet getds( string  sql)
    
{
        SqlCommand comm 
= new SqlCommand(sql, sqlconn);
        SqlDataAdapter da 
= new SqlDataAdapter(comm);
        DataSet temp 
= new DataSet();
        
int i=da.Fill(temp);
        
return temp;
     }

     
///<summary>
     
///返回Dataset类型的方法,带表名,添加新表
     
///</summary>

      public  DataSet getdsname( string  sql, string  name,DataSet ds)
     
{
         SqlCommand comm 
= new SqlCommand(sql, sqlconn);
         SqlDataAdapter da 
= new SqlDataAdapter(comm);
         
//DataSet temp = new DataSet();
         int i = da.Fill(ds,name);
         
return ds;
     }
以前没有做过这方面的东东,C#也是刚刚才开始用.今天用了一上午,终于做出来了,但这并不是真正的显示DATASET多个表的方法.
有没有人能告诉我方便快捷的方法呢?
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
Mysql基础第二十四天,创建表和操纵表
Mysql基础第二十四天,创建表和操纵表
53 0
Mysql基础第二十四天,创建表和操纵表
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
144 0
|
Web App开发 Python
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
直接保存“DataFrame表格”到本地,这个“骚操作”90%以上的人不知道!
|
3月前
|
SQL 存储 数据挖掘
"SQL JOIN大揭秘:解锁多表联合查询的终极奥义,从内到外,左至右,全连接让你数据世界畅通无阻!"
【8月更文挑战第31天】在数据库领域,数据常分散在多个表中,而SQL JOIN操作如同桥梁,连接这些孤岛,使数据自由流动,编织成复杂的信息网络。本文通过对比内连接、左连接、右连接和全连接的不同类型,并结合示例代码,展示SQL JOIN的强大功能。掌握JOIN技术不仅能高效查询数据,更是数据分析和数据库管理的关键技能。
79 0
|
6月前
|
SQL 关系型数据库 MySQL
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
简简单单 My SQL 学习笔记(1)——表中数据的整删改查
|
6月前
|
SQL 数据可视化 关系型数据库
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
|
6月前
|
存储 并行计算 数据处理
用Python替代Mapinfo更快查找两张表中距离最近的点
用Python替代Mapinfo更快查找两张表中距离最近的点
74 0
|
6月前
|
关系型数据库 MySQL
Mysql基础第十三天,创建计算字段
Mysql基础第十三天,创建计算字段
31 0
|
数据可视化 数据挖掘 数据处理
盘一盘Tidyverse| 筛行选列之select,玩转列操作
盘一盘Tidyverse| 筛行选列之select,玩转列操作
125 0
【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及对应条数聊起
本篇文章讲解的主要内容是:***如果有重复数据如何检查出两个表中的差异数据及对应条数、表连接做聚合容易出现重复计算的错误、多表查询空值处理问题、NOT IN的子查询范围不能是空值,否则查询结果为空。***
【SQL开发实战技巧】系列(七):从有重复数据前提下如何比较出两个表中的差异数据及对应条数聊起