Asp.net 使用SQL和repeater控件从数据库加载值

Asp.net 使用SQL和repeater控件从数据库加载值,asp.net,repeater,Asp.net,Repeater,我有一个“冠军联赛”小组的数据库文件。包含信息的表格如下所示:“团队:皇家马德里,A组;团队:曼彻斯特联合技术开发队,A组;团队:切尔西伦敦,A组;团队:阿森纳伦敦,A组;团队:巴塞罗那俱乐部,B组;团队:曼城,B组;团队:马德里竞技,B组;团队:尤文图斯,B组;”等等,为了从数据库接收值,我使用8个转发器(每个组对应一个转发器)来呈现组的html表,并编写代码: OleDbConnection con = new OleDbConnection(); con.ConnectionStr

我有一个“冠军联赛”小组的数据库文件。包含信息的表格如下所示:“团队:皇家马德里,A组;团队:曼彻斯特联合技术开发队,A组;团队:切尔西伦敦,A组;团队:阿森纳伦敦,A组;团队:巴塞罗那俱乐部,B组;团队:曼城,B组;团队:马德里竞技,B组;团队:尤文图斯,B组;”等等,为了从数据库接收值,我使用8个转发器(每个组对应一个转发器)来呈现组的html表,并编写代码:

OleDbConnection con = new OleDbConnection();
    con.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source=D:/VisualWebSitesProject/EURO-PILKA/bazyDanych/ligi.mdb";
    con.Open();

    DataSet ds = new DataSet();
    OleDbDataAdapter da = new OleDbDataAdapter();
    da = new OleDbDataAdapter("Select * From ChampionsLeague WHERE Group LIKE A ORDER By Points DESC", con);
    da.Fill(ds);
    groupA.DataSource = ds;
    groupA.DataBind();
    con.Close();

    con.Open()
    DataSet ds2 = new DataSet();
    OleDbDataAdapter da2 = new OleDbDataAdapter();
    da2 = new OleDbDataAdapter("Select * From ChampionsLeague WHERE Group LIKE B ORDER By Points DESC", con);
    da2.Fill(ds2);
    groupB.DataSource = ds2;
    groupB.DataBind();
    con.Close();
其他组也一样。一切都很好,但我想知道:有更好的方法吗?。没有使用这么多的中继器或数据集?。我很担心这一点,因为我还想创建一个“世界杯”小组(8名中继者)和“欧罗巴联赛”小组(12名中继者),我认为页面加载速度会非常慢

中继器结构:

<asp:Repeater ID="groupA" runat="server">
                    <HeaderTemplate>
                        <div class="wygladNaglowekTabele wygladNaglowekTabeleOnload">GROUP A</div>
                        <table id="liga" class="wygladTabelaLiga">
                            <tr>
                                <td class="szerokosc1 color3">Lp.</td><td class="szerokosc2 color3 wysrodkuj">DRUZYNA</td><td class="szerokosc1 color3">Lm</td><td class="szerokosc1 color3">B</td><td class="szerokosc1 color3">Pts</td>
                            </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td class="szerokosc1 color2"><%#Container.ItemIndex +1%></td><td class="szerokosc2 color2"><%#Eval("Team")%></td><td class="szerokosc1 color2"><%#Eval("LiczbaMeczy")%></td><td class="szerokosc1 color2"><%#Eval("LiczbaGoliStrzelonych")%></td><td class="szerokosc1 color2"><%#Eval("Points")%></td>
                        </tr>
                    </ItemTemplate>
                    <AlternatingItemTemplate>
                         <tr>
                            <td class="szerokosc1 color"><%#Container.ItemIndex +1%></td><td class="szerokosc2 color"><%#Eval("Team")%></td><td class="szerokosc1 color"><%#Eval("LiczbaMeczy")%></td><td class="szerokosc1 color"><%#Eval("LiczbaGoliStrzelonych")%></td><td class="szerokosc1 color"><%#Eval("Points")%></td>
                        </tr>
                    </AlternatingItemTemplate>
                    <FooterTemplate>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>

A组
DRUZYNALmBPts有限公司

谢谢你的建议!。我为我的英语感到抱歉。

您可以在一次调用中获取所有组,并在一个StringBuilder中以编程方式创建最终的html标记,然后将StringBuilder字符串放入类似asp:Litral的控件中