首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# sql语句显示最后4条记录

c# sql语句显示最后4条记录
EN

Stack Overflow用户
提问于 2013-07-23 15:49:10
回答 7查看 435关注 0票数 0

我想显示每个标签的员工ID的最后4条记录,我该怎么办?

代码语言:javascript
复制
String strSQL = @"SELECT * FROM staff";
SqlCommand myCommand = new SqlCommand(strSQL, myConn);
SqlDataReader myDataReader = myCommand.ExecuteReader();

while (myDataReader.Read())
{
    Label1.Text = myDataReader["staffID"].ToString();
    Label2.Text = myDataReader["staffID"].ToString();
    Label3.Text = myDataReader["staffID"].ToString();
    Label4.Text = myDataReader["staffID"].ToString();
}               
EN

回答 7

Stack Overflow用户

发布于 2013-07-23 15:56:05

您必须使用这样的查询:

代码语言:javascript
复制
SELECT TOP 4 * 
FROM staff 
ORDER BY MyOrderColumn DESC

使用这样的查询,您将获得返回给您的最后4条记录。

票数 2
EN

Stack Overflow用户

发布于 2013-07-23 15:57:54

首先,如果您只想要后四个,则必须只选择它们:

代码语言:javascript
复制
String strSQL = @"SELECT TOP 4 staffID FROM staff ORDER BY staffID DESC";
using(var myCommand = new SqlCommand(strSQL, myConn))
using(var dataAdapter = new SqlDataAdapter(myCommand))
{
    DataTable table = new DataTable();
    dataAdapter.Fill(table);
    Label1.Text = table.Rows[0]["staffID"].ToString();
    Label2.Text = table.Rows[1]["staffID"].ToString();  
    Label3.Text = table.Rows[2]["staffID"].ToString();
    Label4.Text = table.Rows[3]["staffID"].ToString();
} 

你必须处理员工人数少于4人的情况。

票数 2
EN

Stack Overflow用户

发布于 2013-07-23 15:54:10

如果这是winforms,你可以尝试这样做:

代码语言:javascript
复制
int i = 1;
while (myDataReader.Read())
{
  var label = this.Controls.Find("Label" + i, false) as Label;
  if (label != null)
  {
      label.Text = myDataReader["staffID"].ToString();
  }
  else
  {
       break;
  }

  i++;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17804347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档