0

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

在此处输入图像描述

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

  • 标记

  • 山姆
  • 吉姆

东方

  • 约翰

西方

  • 账单

我不一定需要它们的列表格式,这只是一个例子。我只需要能够按分支将它们分开。据我了解,我需要使用 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

4 回答 4

1

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

        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();
    %>
于 2013-05-22T15:11:23.557 回答
0

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

SELECT * FROM Locations
GROUP BY Branch
于 2013-05-22T13:45:16.880 回答
0

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

于 2013-05-22T15:05:58.800 回答
0

您是否尝试过使用数据透视表? http://blogs.msdn.com/b/spike/archive/2009/03/03/pivot-tables-in-sql-server-a-simple-sample.aspx

于 2013-05-23T15:17:46.073 回答