用数据集Dataset开发是挺方便的事情,但是一旦遇到需要修改的时候就非常的麻烦,经常会有奇怪的问题。Dataset可以看成是一个类的集合,里面有列属性和方法属性。分别可以对应数据表的字段和相应的方法,方法可以是直接写在里面的SQL语句或调用存储过程。而且SELECT方法返回的数据必须对应Dataset的列属性,要不就有错误。这种情况经常发生在对数据库表修改后,却没有对Dataset相应的列属性和方法属性进行修改的情况下,会产生“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”的错误。
解决方法是修改完数据库表之后一定要对相应的Dataset进行修改。这里有两点觉得可以注意的。一个是重新使用TableAdapter的“配置“功能,让其重新生成全部列。还有就是对存储过程的修改。一般使用SELECT的时候都会只SELECT出相应的字段,这样可以增加性能。但是我觉得在Dataset中,就干脆用SELECT * 就行了,要不每次修改完数据库都要改相应的SELECT 方法,特别当你想对一个表增加或减少字段的情况下,就很麻烦了。用了Dataset + ObjectDataSource开发一段时间,开始上手是比较容易,但是后期要修改一些东西却非常的麻烦,特别是调试的时候。所以还是按三层架构最原始的方式去开发,维护起来也方便很多。
posted @ 2008-01-17 10:46
yezizhe 阅读(246)
评论(0) 编辑 收藏