日期:2014-05-19  浏览次数:21140 次

C# 从DATASET中获取数据字段发生的问题
代码如下:
                  private   void   datagrid2_Click(object   sender,   EventArgs   e)
                {
                       
                                bl   =   dataGrid2[dataGrid2.CurrentCell.RowNumber,   0].ToString();
                                mystr.sql   =   "select   *   from   gztcb   where   tcm= ' "   +   bl   +   " ' ";
                                mystr.table   =   "gztcb ";
                                DataSet   ds   =   new   DataSet();
                                ds   =   mystr.sqlbd(mystr.sql,   mystr.table);

//次处代码,主要实现点击datagrid2时,冲数据集中取出相关字段绑定到几个textbox上
                                comboBox1.DataBindings.Add( "Text ",   ds.Tables[0],   "tcm ");
                                jbgz.DataBindings.Add( "Text ",   ds.Tables[0],   "jbgz ");
                                dhbt.DataBindings.Add( "Text ",   ds.Tables[0],   "dhbt ");
                                jtbt.DataBindings.Add( "Text ",   ds.Tables[0],   "jtbt ");
                                ylbt.DataBindings.Add( "Text ",   ds.Tables[0],   "ylbt ");
                                zfbt.DataBindings.Add( "Text ",   ds.Tables[0],   "zfbt ");
                }


但是..现在出现了一个问题,就是不能多次绑定...当第2次再单击datagrid2时,数据集发生改变,就会发生错误..请问要如何解决..小弟,初学C#,求大虾帮忙.


------解决方案--------------------
绑定前检查数据源是否为空,不为空的话就先清空数据源再进行绑定

以上
------解决方案--------------------
每次
comboBox1.DataBindings.Clear();
jbgz.DataBindings.Clear();
dhbt.DataBindings.Clear();
jtbt.DataBindings.Clear();
ylbt.DataBindings.Clear();
zfbt.DataBindings.Clear();
后再绑定...
comboBox1.DataBindings.Add( "Text ", ds.Tables[0], "tcm ");
jbgz.DataBindings.Add( "Text ", ds.Tables[0], "jbgz ");
dhbt.DataBindings.Add( "Text ", ds.Tables[0], "dhbt ");
jtbt.DataBindings.Add( "Text ", ds.Tables[0], "jtbt ");
ylbt.DataBindings.Add( "Text ", ds.Tables[0], "ylbt ");
zfbt.DataBindings.Add( "Text ", ds.Tables[0], &q