大家对控件绑定数据源是怎么理解的,是不是当控件中的值(例如forom中的datagrid的某个cell中的值)发生变化时,它绑定的数据源(例如dataset中的表)也相应的发生变化呢

解决方案 »

  1.   

    既然是这样,为什么我在winform的datagrid中对显示的行进行更改,并通过单击事件button2_click(代码如下)希望通过datagrid的更改达到对dataset11的更改,进而用DataAdapter.Update()更改数据库中的数据,结果却无任何变化呢(下面的DataAdapter1是公用的,DataAdapter1.selectcommand为select * from 客户价格,DataSet11是由DataAdapter1生成的公用数据集),
    private void button2_Click(object sender, System.EventArgs e)
                  {
                SqlCommandBuilder cmdbuilder=new SqlCommandBuilder(sqlDataAdapter1);
       sqlConnection1.Open();
                sqlDataAdapter1.Update(dataSet11,"客户价格");
       sqlConnection1.Close(); }
      

  2.   

    同上,我用SqlDataAdapter修改的时候也是这样,感觉好象是Update没有起任何作用
      

  3.   

    不要用SqlCommandBuilder ,在sqlDataAdapter1中设置insercommand,updatetcommand和deletecommand的sql语句
      

  4.   

    sqlDataAdapter1.UpdateCommand=new SqlCommand("update 客户价格 set 客户类型=@khlx,产品编码=@cpbm,折扣率=@zkl,备注=@bz where 客户帐号=@khzh",sqlConnection1);
                SqlParameter khbhPara=sqlDataAdapter1.UpdateCommand.Parameters.Add("@khzh",SqlDbType.Int);
    khbhPara.SourceColumn="客户帐号";
                khbhPara.SourceVersion=DataRowVersion.Original;
    SqlParameter khlxPara=sqlDataAdapter1.UpdateCommand.Parameters.Add("@khlx",SqlDbType.NChar,30,"客户类型");
                khlxPara.SourceColumn="客户类型";
                sqlDataAdapter1.UpdateCommand.Parameters.Add("@cpbm",SqlDbType.Int,30,"产品编码");
    khlxPara.SourceColumn="产品编号";
                SqlParameter zklPara=sqlDataAdapter1.UpdateCommand.Parameters.Add("@zkl",SqlDbType.NChar);
    zklPara.SourceColumn="折扣率";
    SqlParameter bhPara=sqlDataAdapter1.UpdateCommand.Parameters.Add("@bz",SqlDbType.NChar);
                bhPara.SourceColumn="备注";
                 

    (sqlDataAdapter1);
    sqlConnection1.Open();
    sqlDataAdapter1.Update(dataSet11,"客户价格");
    sqlConnection1.Close();
    为什么也不能更改啊