如何从数据库获取价值到标签?

时间:2014-01-02 06:58:30

标签: c#

我有一个来自数据库的表,我希望显示从table到label1的值。这是我的代码:

string query="Data Source=Bun; user Id=sa; Password=sa; Initial Catalog=eBilling;";
SqlConnection con = new SqlConnection(query);
con.Open();
string query1 = "select prodName from ProductMaster where @name='Bar Counter' ";
SqlCommand cmd = new SqlCommand(query1, con);

SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read()) {

   label1.Text = dr.GetValue(1).ToString();
   textBox1.Text = dr.GetValue(0).ToString();
}

但之后,我必须点击此标签才能显示该值。如果不需要点击任何内容,我可以使用此代码在标签中显示我的价值?

4 个答案:

答案 0 :(得分:1)

将此代码放在WinForm的page_load方法中。

答案 1 :(得分:0)

正如@wqrahd所说

protected void Page_Load(object sender, EventArgs e)
{
string query="Data Source=Bun; user Id=sa; Password=sa; Initial Catalog=eBilling;";
        SqlConnection con = new SqlConnection(query);
        con.Open();
        string query1 = "select prodName from ProductMaster where @name='Bar Counter' ";
        SqlCommand cmd = new SqlCommand(query1, con);

        SqlDataReader dr = cmd.ExecuteReader();
        while (dr.Read()) {

            label1.Text = dr.GetValue(1).ToString();
            textBox1.Text = dr.GetValue(0).ToString();
}

答案 2 :(得分:0)

使用您的代码编写不同的函数,并在page_load事件和其他事件中调用它(如果需要):

protected void Page_Load(object sender, EventArgs e)
{
   setLableText();
}

private void setLableText()
{
        string query="Data Source=Bun; user Id=sa; Password=sa; Initial Catalog=eBilling;";
        SqlConnection con = new SqlConnection(query);
        con.Open();
        string query1 = "select prodName from ProductMaster where @name='Bar Counter' ";
        SqlCommand cmd = new SqlCommand(query1, con);

        SqlDataReader dr = cmd.ExecuteReader();
        while (dr.Read()) {

            label1.Text = dr.GetValue(1).ToString();
            textBox1.Text = dr.GetValue(0).ToString();
        }
}

答案 3 :(得分:0)

如果是用于Web应用程序:

用户打开页面后立即显示标签。 您必须在页面加载中编写代码。 此外,如果您只是第一次显示此Label,并且在该值更改某些事件之后,请将代码放置为:

..Page_Load(..)
{
 (!IsPostBack)
  {
  }
}

因此Label显示第一次加载页面的值。 有任何疑问你可以再问一次。 :)

对于窗口应用程序逻辑保持不变。

private void label1_Click_1(object sender, EventArgs e) {} 

调用Page Load:

Page_Load(...)
{
 label1_Click_1(null, null); 
}