C# 按类别列出用户
我有一个SQL Server表,如下所示: 我需要这样显示这些数据: 北部C# 按类别列出用户,c#,asp.net,sql-server,do-while,C#,Asp.net,Sql Server,Do While,我有一个SQL Server表,如下所示: 我需要这样显示这些数据: 北部 标记 南部 萨姆 吉姆 东部 约翰 乔 西部 账单 我不一定需要他们的列表格式,这只是一个例子。我只需要能够将它们按分支分开。据我所知,我需要使用DO WHILE语句?我只是不知道如何制订适当的守则。这是到目前为止我的代码 ASPX页 <div class="row"> <div class="span12"> <% Sys
- 标记
- 萨姆
- 吉姆
- 约翰
- 乔
- 账单
<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();
%>
提前感谢您对我的帮助 在SQL查询中,应该按分支分组。使SQL语句类似于:
SELECT * FROM Locations
GROUP BY Branch
您需要更新sql查询以从数据库获得所需的输出是的,第二个想法最简单 首先按分支对位置排序,然后按他说的做
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();
%>
var Sql=“按分支机构从位置顺序选择*”;
pcm.CommandText=Sql;
prs=pcm.ExecuteReader();
var rowcount=0;
var prvBranch=“”;
while(prs.Read())
{
行计数++;
if(prvBranch!=prs[“分支”].ToString())
{%>
您是否尝试过使用透视表?
这样做确实会将分支分开,但看起来并不完全正确。例如,现在我有:EAST-John,EAST-Joe,而不是EAST-John Joe。@kcray好的,现在我知道你想做什么了。我认为没有办法让SQL为每个组只输出分支一次,所以我认为最好的选择是在代码中进行检查对于每个选项卡行,如果分支与上一个相同。