首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

表结构变更时重新生成dataSet后数据绑定会消失,有什么好办法解决方案

2012-03-22 
表结构变更时重新生成dataSet后数据绑定会消失,有什么好办法表结构变更时重新生成dataSet后界面的数据绑定

表结构变更时重新生成dataSet后数据绑定会消失,有什么好办法
表结构变更时重新生成dataSet后界面的数据绑定会消失,又得一个一个去设置,有什么好的办法没有?
是不是只能这样,否则就自己写动态绑定的代码?

[解决办法]
建议绑定的是DataTable,而不是DataSet
先读取一个没有数据,只包含结构的DataTable
然后为DataTable创建PrimaryKey
在以后读取数据的时候都使用Merge

代码大概如下,我这里的con是一个自己封装了一下DBHelper,大概参考一下即可。

DataTable dt = con.ExecuteTable("select id,name from 表名 where 1=2");
dt.PrimaryKey = new DataColumn[] { dt.Columns["id"] };

控件就可以去绑定dt这个数据源。以后要刷新数据,都是读取后合并到这个数据表中。

DataTable dt2 = con.ExecuteTable("select id,name from 表名");
dt.Merge(dt2);


另外一种方式就是控件绑定BindingSource,而不要直接绑定到DataSet

热点排行