用强类型化的dataset,感觉直观,不需要编写很多代码,但是有一个严重的问题就是:
背景:C#2.0,VS2005,开发中基础数据表的查询,插入,更新,删除,全部用存储过程。然后用数据源配置向导选择表的查询存储过程,这时在数据集设计器中就增加了一个表,这时再指定此表的插入,更新,删除用到的存储过程,然后再增加此表与其他表的关系。
问题1描述:
在第一次通过向导走完上面的全部过程后,在winform中使用,没问题,包括关系,都正常。
但在我修改了基础数据库表结构后(修改了表中的列名,或增加、减少基础数据库表的列等)我在存储过程中也全部更新了,但通过向导重新选这个表的存储过程后,在数据集设计器中,可以看到,表结构和数据库中的结构一样了,但在winform中要用到新增加的列时(如datagridview),winform中这个表的bindingSource中没有新增的列。除非用手工用代码(bindingSource-新增的列)强行指定。为什么VS中的数据集设计器里已经是更改后的表结构了,为什么在winform中的数据源却不同步。问题2描述:
上面的问题出现后,没有办法,我将表从数据集设计器中删除(强类型化dataset),然后,从走一边背景中提到的过程,再新建一个winform,这时再试,发现,还是同样的问题,form中的数据源没有新增的列,另外还有一个问题,就是我从新指定的与其他表的关系,也不能用了,在一个form中用到两个datagridview,一个是这个问题表,一个是另外一个表,有时是不显示关系名(在指定datagridview的数据源时,datasource=问题表,datamember=关系名,这里看不到关系名)有时是显示却没有效果关系的效果。请问如何能在修改了基础数据库中的表结构后,在项目中的数据集中能同步表结构和重新指定关系后关系的使用?
非常感谢,很急!
背景:C#2.0,VS2005,开发中基础数据表的查询,插入,更新,删除,全部用存储过程。然后用数据源配置向导选择表的查询存储过程,这时在数据集设计器中就增加了一个表,这时再指定此表的插入,更新,删除用到的存储过程,然后再增加此表与其他表的关系。
问题1描述:
在第一次通过向导走完上面的全部过程后,在winform中使用,没问题,包括关系,都正常。
但在我修改了基础数据库表结构后(修改了表中的列名,或增加、减少基础数据库表的列等)我在存储过程中也全部更新了,但通过向导重新选这个表的存储过程后,在数据集设计器中,可以看到,表结构和数据库中的结构一样了,但在winform中要用到新增加的列时(如datagridview),winform中这个表的bindingSource中没有新增的列。除非用手工用代码(bindingSource-新增的列)强行指定。为什么VS中的数据集设计器里已经是更改后的表结构了,为什么在winform中的数据源却不同步。问题2描述:
上面的问题出现后,没有办法,我将表从数据集设计器中删除(强类型化dataset),然后,从走一边背景中提到的过程,再新建一个winform,这时再试,发现,还是同样的问题,form中的数据源没有新增的列,另外还有一个问题,就是我从新指定的与其他表的关系,也不能用了,在一个form中用到两个datagridview,一个是这个问题表,一个是另外一个表,有时是不显示关系名(在指定datagridview的数据源时,datasource=问题表,datamember=关系名,这里看不到关系名)有时是显示却没有效果关系的效果。请问如何能在修改了基础数据库中的表结构后,在项目中的数据集中能同步表结构和重新指定关系后关系的使用?
非常感谢,很急!
解决方案 »
- 更新数据库时出现操作符丢失
- C#如何调用VC++.NET编写的CLR类库
- 处理多个不同类型的数据用什么数据结构好?
- 自定义截图类(C#)
- 在winfrom中动态添加控件的问题!!!急!!!!!!!!
- datagridview的同一条记录中如何在一列中的column中输入一个值,然后自动带出另外一个值?
- AxWebBrowser 打开网页时,怎样才能够知道网页是否完全打开?
- [高分-顶者有分]如何使用TreeView控件实现树节点重命名的功能?
- 一个dateTimePicker的问题!
- vs2003调用2005开发的dll?
- 求:怎样统计一个字符串中哪个字符出现的频率最高?
- datagridview新增空白行的问题????
按理是会同步的
如果你的dataset和winform的项目是分开的2个项目,要先编译dataset项目,winform才会更新
同一个解决方案的同一个项目么?还是2个项目?
先试试重新编译不管是同一个项目还是2个项目。。另外,有时候datagridview的代码是在第一次绑定时生成的,你可以试下重新加一个datagridview再绑定
最后,vs2005有没打sp1?如果没有。。打上。。