如何用数据库中的值设置标签文本?

本文关键字:设置 标签 文本 何用 数据库 | 更新日期: 2023-09-27 18:06:14

我在我的数据库中有一个列"Klantnummer"和
我想把这个值作为标签文本
我怎么做呢?

protected string conS = "Data Source=.''SQLEXPRESS;AttachDbFilename=|DataDirectory|''Databees.mdf;Integrated Security=True;User Instance=True";
protected SqlConnection con;
protected void Page_Load(object sender, EventArgs e)
{
    con = new SqlConnection(conS);
    try
    {
        con.Open();
        string q = "SELECT * FROM tblKLanten;";
        SqlCommand query = new SqlCommand(q, con);
        SqlDataReader dr = query.ExecuteReader();
        Label1.Text = ; //I want here the value of klantnummer
        con.Close();
    }
    catch (Exception ex)
    {
        Label2.Text = "Error";
    }
}

如何用数据库中的值设置标签文本?

可以使用:

label1.Text = dr["Klantnummes"].ToString();

根据提供的信息,回答这个问题并不容易,但是让我们假设您的结构是这样的:

CREATE TABLE tblKLanten (
    ID INT,
    Klantnummer VARCHAR(50)
)

您需要通过阅读器的索引获取字段,像这样:

Label1.Text = dr.GetString(1);

但是你还需要读取,所以你需要在设置标签之前发出这个语句:

bool success = dr.Read();
if (success)
{
    // set the label in here
}

,但请记住,它是基于返回语句中列的索引,因此,由于您正在发布SELECT *,因此我无法知道索引是什么。最后,我建议进行更多的更改,因此考虑以下代码:

protected string conS = "Data Source=.''SQLEXPRESS;AttachDbFilename=|DataDirectory|''Databees.mdf;Integrated Security=True;User Instance=True";
protected SqlConnection con;
protected void Page_Load(object sender, EventArgs e)
{
    con = new SqlConnection(conS);
    try
    {
        con.Open();
        string q = "SELECT * FROM tblKLanten;";
        SqlCommand query = new SqlCommand(q, con);
        using (SqlDataReader dr = query.ExecuteReader())
        {
            bool success = dr.Read();
            if (success)
            {
                Label1.Text = dr.GetString(1);
            }
        }
        con.Close();
    }
    catch (Exception ex)
    {
        Label2.Text = "Error";
    }
}

那里的using语句将确保SqlDataReader得到适当的处置