C#根据Combobox选择向文本框添加值

时间:2013-03-25 09:02:05

标签: c# winforms

我们从组合框中选择了一个值,并需要文本框中的相关信息。 以下代码不适用于此。

   private void itemcode_SelectedIndexChanged(object sender, EventArgs e)
   {
            string selected = (string)itemcode.SelectedItem;
            SqlConnection conn3 = new SqlConnection(connString);
            conn3.Open();
            //For Redundency Checking Code of Supplier id.
            string iname = "select Itemname from Items where Itemcode='" +  
                            itemcode.SelectedItem.ToString() + "'";
            SqlCommand cmdRedun1 = new SqlCommand(iname, conn3);
            SqlDataReader dr1 = cmdRedun1.ExecuteReader();
            dr1.Read();
            itemname.Text = dr1["Itemname"].ToString();
            dr1.Close();
    }

2 个答案:

答案 0 :(得分:1)

首先检查组合框的项值,然后使用StringFormat创建查询  例如:

 string iname = String.Format("select Itemname from Items where Itemcode='{0}'",
 itemcode.SelectedItem.ToString()) ;

// - 然后请查看以下代码:

SqlConnection SqlConn = new SqlConnection(this.ConnectionString);
SqlConn.Open();
SqlCommand SqlCmd = new SqlCommand(" Your Select....", SqlConn);
SqlCmd.CommandType = CommandType.Text;
SqlDataReader r = SqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
//----need this 
while (r.Read())                
itemname.Text =  string.IsNullOrEmpty(r["Itemname"].ToString()) ?  
  string.Empty : r["Itemname"].ToString();           
 r.Close();
 if (SqlConn.State != ConnectionState.Closed)
      SqlConn.Close();

答案 1 :(得分:0)

您可以尝试使用ExecuteScalar而不是SqlDataReader。