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

效果:
{030A7B52-98FE-4378-A41D-6578B5532DF3}.JPG
表现层:
Classlist.ascx
None.gif <% @ Control Language = " C# "  ClassName = " classlist "   Debug = " true "   %>
None.gif
None.gif
< script runat = " server " >
None.gif   
None.gif    
protected   void  Page_Load( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        dataclass datacls 
= (dataclass)Application["data"];
InBlock.gif
InBlock.gif        System.Data.DataSet ds 
= new System.Data.DataSet();
InBlock.gif        ds
=datacls.getclasslist();
InBlock.gif       
InBlock.gif        
InBlock.gif      
if (ds.Tables[0].Rows.Count > 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
for (int i = 0; i <ds.Tables.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                PlaceHolder tt 
= new PlaceHolder();
InBlock.gif                Label title 
= new Label();
InBlock.gif               title.Text 
= ds.Tables[i].TableName;
InBlock.gif                title.Font.Bold 
= true;
InBlock.gif               tt.Controls.Add(title); 
InBlock.gif                   
InBlock.gif                DataList dl
=new DataList();
InBlock.gif                dl.ItemTemplate 
= Page.LoadTemplate("/conterl/classitem.ascx");
InBlock.gif                dl.RepeatDirection
=(RepeatDirection)0;
InBlock.gif                dl.RepeatColumns 
= 4;
InBlock.gif                dl.DataSource 
= ds.Tables[i];
InBlock.gif                dl.DataBind();
InBlock.gif                tt.Controls.Add(dl);
InBlock.gif                PlaceHolder1.Controls.Add(tt);
ExpandedSubBlockEnd.gif            }

InBlock.gif          
ExpandedSubBlockEnd.gif        }

InBlock.gif       
InBlock.gif       
ExpandedBlockEnd.gif    }

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

逻辑层:
ExpandedBlockStart.gif ContractedBlock.gif /**/ ///<summary>
InBlock.gif    
/// 取得分类列表
ExpandedBlockEnd.gif    
/// </summary>

None.gif     public  DataSet getclasslist() 
ExpandedBlockStart.gifContractedBlock.gif   
dot.gif {
InBlock.gif        
try
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
string sqlstr = "";
InBlock.gif            sqlstr 
= "select id,classname from classname where upid=0";
InBlock.gif           DataSet dc
=new DataSet();
InBlock.gif            dc
=getds(sqlstr);
InBlock.gif            
InBlock.gif            
if (dc.Tables[0].Rows.Count > 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                DataSet dl
=new DataSet();
InBlock.gif
InBlock.gif                
for(int j=0;j<dc.Tables[0].Rows.Count;j++)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                sqlstr 
= "select top 3 id,classname from classname where upid=" + (int)dc.Tables[0].Rows[j]["id"];
InBlock.gif                
InBlock.gif                    dl
= getdsname(sqlstr, (string)dc.Tables[0].Rows[j]["classname"],dl);
InBlock.gif                
InBlock.gif                    dl.Tables[(
string)dc.Tables[0].Rows[j]["classname"]].Columns.Add("error");
InBlock.gif                    DataRow drow;
InBlock.gif                    drow 
= dl.Tables[(string)dc.Tables[0].Rows[j]["classname"]].NewRow();
InBlock.gif                    drow[
"id"= (int)dc.Tables[0].Rows[j]["id"];
InBlock.gif                    drow[
"classname"= "dot.gif";
InBlock.gif                    dl.Tables[(
string)dc.Tables[0].Rows[j]["classname"]].Rows.Add(drow);
InBlock.gif                    
ExpandedSubBlockEnd.gif                }

InBlock.gif       
InBlock.gif                
return dl;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{                
InBlock.gif                
throw new Exception("no");
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

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

ExpandedBlockEnd.gif   }
数据层:
ExpandedBlockStart.gif ContractedBlock.gif /**/ ///<summary>
InBlock.gif    
///返回Dataset类型的方法
ExpandedBlockEnd.gif    
///</summary>

None.gif      public  DataSet getds( string  sql)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        SqlCommand comm 
= new SqlCommand(sql, sqlconn);
InBlock.gif        SqlDataAdapter da 
= new SqlDataAdapter(comm);
InBlock.gif        DataSet temp 
= new DataSet();
InBlock.gif        
int i=da.Fill(temp);
InBlock.gif        
return temp;
ExpandedBlockEnd.gif     }

ExpandedBlockStart.gifContractedBlock.gif     
/**/ ///<summary>
InBlock.gif     
///返回Dataset类型的方法,带表名,添加新表
ExpandedBlockEnd.gif     
///</summary>

None.gif       public  DataSet getdsname( string  sql, string  name,DataSet ds)
ExpandedBlockStart.gifContractedBlock.gif     
dot.gif {
InBlock.gif         SqlCommand comm 
= new SqlCommand(sql, sqlconn);
InBlock.gif         SqlDataAdapter da 
= new SqlDataAdapter(comm);
InBlock.gif         
//DataSet temp = new DataSet();
InBlock.gif
         int i = da.Fill(ds,name);
InBlock.gif         
return ds;
ExpandedBlockEnd.gif     }
以前没有做过这方面的东东,C#也是刚刚才开始用.今天用了一上午,终于做出来了,但这并不是真正的显示DATASET多个表的方法.
有没有人能告诉我方便快捷的方法呢?

转载于:https://www.cnblogs.com/aowind/archive/2006/10/18/532355.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值