【问题标题】:Sql data reader wont return my values to objectsSql 数据阅读器不会将我的值返回给对象
【发布时间】:2013-07-26 07:34:14
【问题描述】:

我有这段代码从 SQL 获取返回查询并将其放在标签中。问题是,当我单击搜索按钮时,标签不会填充。但是当我进入调试模式时,它有值。这是为什么?!帮忙!

//I've cut down the code here to make the question clearer
//But these 4 fields were all valid properties - Sayse
public string FirstName
public string MiddleName
public string LastName
public string Email

  public void SearchAffectedUser()
    {
        using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
        {

            using (SqlCommand com_retrieve = new SqlCommand("Reader.usp_SearchAffectedUser", con))
            {
                com_retrieve.CommandType = CommandType.StoredProcedure;
                com_retrieve.Parameters.Add("@fld_EmployeeId", SqlDbType.Int).Value = AffectedUser;
                con.Open();

                com_retrieve.ExecuteNonQuery();
                SqlDataReader dr = com_retrieve.ExecuteReader();
                if (dr.Read())
                {

                    FirstName = dr.GetValue(0).ToString();
                    MiddleName = dr.GetValue(1).ToString();
                    LastName = dr.GetValue(2).ToString();
                    Email = dr.GetValue(3).ToString();
                }

            }
        }
    }

  protected void findAffectedUserButton_Click(object sender, EventArgs e)
    {
        ticket.AffectedUser = affectedUserTextBox.Text;
        ticket.FirstName = firstNameValueLabel.Text;
        ticket.MiddleName = middleNameValueLabel.Text;
        ticket.LastName = lastNameValueLabel.Text;
        ticket.Email = emailValueLabel.Text;
        ticket.SearchAffectedUser();

    }

【问题讨论】:

  • 你在哪里为标签设置文本?
  • 在我的网页中 button_click
  • 我已编辑您的代码以删除一些属性声明,因为它只是在向您的问题代码发送垃圾邮件

标签: c# asp.net oop


【解决方案1】:

首先设置用于搜索的 AffectedUser 属性,然后调用搜索命令,最后设置标签。

protected void findAffectedUserButton_Click(object sender, EventArgs e)
{
    ticket.AffectedUser = affectedUserTextBox.Text;
    ticket.SearchAffectedUser();
    firstNameValueLabel.Text = ticket.FirstName;
    middleNameValueLabel.Text = ticket.MiddleName;
    lastNameValueLabel.Text = ticket.LastName;
    emailValueLabel.Text = ticket.Email;

}

【讨论】:

    【解决方案2】:

    将标签TEXT属性设置为“”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多