我的一点疑惑,项目中设定数据源,然后与控件绑定,感觉并不实用呀?
------------------------------------------------------------------
比如:在项目中运行“新建数据源向导”就可以新建一个数据源,在向导生成过程中,让你选择连接哪个数据库,哪个表,具体到哪个字段,创建好数据源后,就可以将数据源中的表(或字段)拖到窗体上,这时会自动在窗体上添加控件,
(比如我拖动数据源中的表到窗体,会自动在窗体上创建一个datagridview控件,同时与数据源中的表相绑定)而且这个向导会生成“导航条”,即可以下一条,上一条的定位记录。
说实话,确实很方便。
我看了下自动生成的代码,确实不少,也够复杂的。但是我想在一个实际的项目中,用这种自动生成代码的技术,却感到无从下手。最主要的感受是,这个功能太不实用了。1.实际项目中的窗体上显示的表格,很少是取自一张表的,多数都是从多张表通过联接( left join / inner join )生成的。
可是我如果用数据源的话,只能从数据库中一个一个选表,无法灵活的得到通过多表联接生成的记录表。
很少有项目,简单到只用到一个个的孤立的表吧。
2.这个向导生成的导航条,貌似可以实现添加、删除、保存的功能,但是我试了下,根本不实用,比如新加一条记录。主键就要手工录入,但是实际项目中,主键很少有由用户直接录入的,多数是由系统生成的(我不是指自增列),比如单号等等,都是由系统通过一定的逻辑和算法生成的,让用户输入主键,太可怕了。
再说修改功能,一般系统中,主键是不允许修改的,可是这个向导生成的界面,主键随便改写。
再说删除功能,如果数据库表间有约束,你在导航条的按钮中进行删除更新,会报错。凡此种种,我产生了很大的疑惑,这个功能难道真的没用吗?还是我没有领会到其中的奥妙呀。
请大家谈谈,实际的项目中,会用到这种向导生成的代码和界面吗?微软说这是一个很方便的功能,不用开发者写太多代码,因为代码已自动生成了。