从数据库中检索数据,计数第二行并在标签中显示

本文关键字:二行 显示 标签 数据 检索 数据库 | 更新日期: 2023-09-27 17:51:14

conn.Open();
int a, b, c;
SqlCommand cmd = new SqlCommand("select top 3 pnrnumber from pnrstatus1 where Status='waiting'", conn);
DataColumn dc;
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
for (int i = 0; i <= ds.Tables[0].Columns.Count; i++)
{
    dc = ds.Tables[0].Columns[i];
    for (int j = 0; ; j++)
    { 
    }
}

Select top 3 from pnrstatus1 where Status='regret'

我想展示

  • 标签1中的第一行号
  • label2中的第二行值
  • label3中的第三行值
例如:

label1==21
label2==22
label3==23

如果它有值,即pnr number in table

sno    pnrnumber
1       21
2       22
3       23

从数据库中检索数据,计数第二行并在标签中显示

试试这个代替列。并且在IDisposable对象上使用using语句。

conn.Open();
int a, b, c;
using(SqlCommand cmd = new SqlCommand("select top 3 pnrnumber 
from pnrstatus1 where
 Status='waiting'", conn))
{

using(SqlDataAdapter da = new SqlDataAdapter(cmd)){
    DataSet ds = new DataSet();
    da.Fill(ds);
    if(ds.Tables.Count > 0 AND ds.Tables[0].Rows.Count = 3)
    {
      Label1.Text = ds.Tables[0].Rows[0]["pnrnumber"].ToString();
      Label2.Text = ds.Tables[0].Rows[1]["pnrnumber"].ToString(); 
      Label3.Text = ds.Tables[0].Rows[2]["pnrnumber"].ToString();  
    }
  }
}

您需要访问ds.Tables[0].Rows的行修改:

            label1.Text = ds.Tables[0].Rows[0][0].ToString();
            label2.Text = ds.Tables[0].Rows[1][0].ToString();
            label3.Text = ds.Tables[0].Rows[2][0].ToString();

我不明白你为什么要在这句话里把for连到列上去:

select top 3 pnrnumber 

您只得到列pnrnumber