从SqlDataReader获取所选的id索引位置

本文关键字:id 索引 位置 SqlDataReader 获取 | 更新日期: 2023-09-27 18:24:20

在我的Winforms应用程序中,我有一个查找选项。当用户输入我的表的id时(注意:我的id是主键),我将显示输入的特定id的详细信息。我将该特定记录存储在datareader中,并将该特定数据显示在文本框字段中。

像这样:

if (reader.Read())
{
  btnNext.Enabled = true;
  btnPrevious.Enabled = true;
  txtname.Text = reader["name"].ToString();
  .....
}

除此之外,我还有下一个和上一个按钮。因此,他根据该id找到数据,然后他想查看查找id中的下一条记录。

我将捕获索引位置的id,这样我就可以很容易地显示下一条记录以及上一条记录。如何获取id位置?有人能帮忙吗?

我在下一个按钮上显示了下一条记录,如下所示:

  if (dt.Rows.Count > 0)
   {
   if (count < dt.Rows.Count - 1)
   {
   count += 1;
   ShowData();
   }
   else
   {
   MessageBox.Show("Last record of the table.");
   }
   }

从SqlDataReader获取所选的id索引位置

我认为你可以在Sql Statment中使用ROW_NUMBER来获得当前ID位置

select  ROWNUM from (
          SELECT ID,ROW_NUMBER() over({Your Default Order}) as ROWNUM 
                     FROM {Your Table Name} WHERE {CONDITION} ) x 
                      WHERE x.ID= {Your ID}

每个select ROWNUM from (SELECT ID,ROW_NUMBER() over(ORDER BY ID) as ROWNUM FROM COLORS WHERE NAME like '%%' ) x WHERE x.ID= 5