【问题标题】:binding windows form controls to sql server data in c#在c#中将windows窗体控件绑定到sql server数据
【发布时间】:2013-03-13 10:07:40
【问题描述】:

我将组合框绑定到数据源。我通过组合框属性做到了这一点。我还将文本框绑定到相同的数据源。当尝试更改组合框中的项目时,它会更改文本框中的值。但是当我尝试从组合框中选择另一个项目时,它会给出错误“ “这会导致集合中的两个绑定绑定到同一个属性。 参数名称:绑定”

这是绑定文本框的代码

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        con.Open();
        SqlDataAdapter da = new SqlDataAdapter("select * from ProductMaster", con);
        DataSet ds = new DataSet();
        da.Fill(ds, "ProductMaster");

        textBox5.DataBindings.Add("text", ds, "ProductMaster.Rate");

        label17.DataBindings.Add("text", ds, "ProductMaster.VAT");
        con.Close();
    }

请帮忙

【问题讨论】:

    标签: sql-server-2008 c#-4.0


    【解决方案1】:

    您应该每次都清除绑定。因为每次您在组合框中选择一个新项目时,此事件都会将数据源绑定到组合,并且由于它之前已绑定(与您之前选择的项目),它会给出错误。昨天我遇到了完全相同的问题,我通过每次在新绑定之前清除绑定来解决。

    这是我的代码:

     private void cmb_aye_SelectedIndexChanged(object sender, EventArgs e)
        {
          OleDbDataAdapter da_select = new OleDbDataAdapter(string.Format("SELECT * FROM quran WHERE (sure={0} and aye={1})", cmb_sure.SelectedItem.ToString(), cmb_aye.SelectedItem.ToString()), objConnection);
          DataTable dt = new DataTable();
          dt.Clear();
          da_select.Fill(dt);
          txt_tarjome.DataBindings.Clear();
          txt_tarjome.DataBindings.Add("Text", dt, "tarjome");
          txt_matn_aye.DataBindings.Clear();
          txt_matn_aye.DataBindings.Add("Text", dt, "baerab");
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多