将数据集或数据表中的记录绑定到标签

时间:2013-09-23 09:42:01

标签: c# asp.net dataset label

伙计们我想打印从数据库返回到标签的两条记录。我使用数据集,浏览列然而无法绑定,因为标签没有数据源。以下是我的代码。

        SqlDataAdapter adp = new SqlDataAdapter();
        adp.SelectCommand = cmd;
        DataSet ds = new DataSet();
        adp.Fill(ds);



    if (ds.Tables[0].Rows.Count > 0)
    {
        lblClient.Enabled = true;
        lblClient.Text = Convert.ToString(ds.Tables[0].Columns[0]);
        lblBranch.Text = Convert.ToString(ds.Tables[0].Columns["Bname"]);


    }
    connection.Close();

当我尝试上述内容时。它只返回列名(即指定的字符串)。任何替代方案都将受到赞赏。

2 个答案:

答案 0 :(得分:2)

您不需要列的文本,而是DataRow值:

lblClient.Text = ds.Tables[0].Rows[0].Field<string>(0);
lblBranch.Text = ds.Tables[0].Rows[0].Field<string>(1);

或按列名称(假定第一个名称):

lblClient.Text = ds.Tables[0].Rows[0].Field<string>("Cname");
lblBranch.Text = ds.Tables[0].Rows[0].Field<string>("Bname");

仅当表包含至少一行时才有效。所以你必须检查一下。

答案 1 :(得分:1)

您需要指明您想要的行。使用您的代码,您可以选择DataTable列

SqlDataAdapter adp = new SqlDataAdapter();
        adp.SelectCommand = cmd;
        DataSet ds = new DataSet();
        adp.Fill(ds);

if (ds.Tables[0].Rows.Count > 0)
{
    lblClient.Enabled = true;
    lblClient.Text = Convert.ToString(ds.Tables[0].Rows[0].[0]);
    lblBranch.Text = Convert.ToString(ds.Tables[0].Rows[0].["Bname"]);


}
connection.Close();