按类别列出用户

时间:2013-05-22 13:35:05

标签: c# asp.net sql-server do-while

我有一个如下所示的SQL Server表:

enter image description here

我需要像这样显示这些数据:

  • 标记

  • 萨姆
  • 吉姆

  • 约翰

西

  • 比尔

我不一定需要它们只是一个例子的列表格式。我只需要能够通过分支将它们分开。根据我的理解,我需要使用DO WHILE语句?我只是不知道如何制定正确的代码。到目前为止,这是我的代码。

ASPX页面

<div class="row">
   <div class="span12">
         <% 
            System.Data.OleDb.OleDbConnection pcn;
            System.Data.OleDb.OleDbCommand pcm;
            System.Data.OleDb.OleDbDataReader prs;

            pcn = new System.Data.OleDb.OleDbConnection("");
            pcm = new System.Data.OleDb.OleDbCommand();
            pcn.Open();
            pcm.Connection = pcn;

            var Sql = "SELECT * from Locations";

            pcm.CommandText = Sql;
            prs = pcm.ExecuteReader();
            var rowcount = 0;

            while (prs.Read())
            {
                rowcount++;
        %>

            <h4><%= prs["Branch"].ToString() %></h4>
            <%= prs["Name"].ToString() %>

        <%
            }
            prs.Close();
            pcn.Close();
        %>

提前谢谢你的帮助!

4 个答案:

答案 0 :(得分:1)

是的,第二个想法最简单 首先按分支对位置进行排序,然后执行他所说的

        var Sql = "SELECT * from Locations Order by Branch";

        pcm.CommandText = Sql;
        prs = pcm.ExecuteReader();
        var rowcount = 0;
        var prvBranch="";

        while (prs.Read())
        {
            rowcount++;       
        if(prvBranch!=prs["Branch"].ToString())
        {%>
            <h4><%= prs["Branch"].ToString() %></h4>
        <%} %>
        <%= prs["Name"].ToString() %>

    <%
        prvBranch = prs["Branch"].ToString();

        }
        prs.Close();
        pcn.Close();
    %>

答案 1 :(得分:0)

在SQL查询中,您应该按分支进行分组。使SQL语句类似于:

SELECT * FROM Locations
GROUP BY Branch

答案 2 :(得分:0)

您需要更新sql查询以从数据库中获取所需的输出

答案 3 :(得分:0)