云中剑阁

虽然我现在还是一棵小小的树苗,但是不久的将来,我一定会成长成一棵参天大树
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VS使用方法或技巧记录

Posted on 2008-03-10 23:53  小恒  阅读(1949)  评论(0编辑  收藏  举报
1.调试功能很强
随时查看变量,实例的值,也可以添加监视,监视变量或实例全部的属性或方法运行情况.
调试快捷键,常用:F5启动调试或断点跳动调试, F10逐过程调试, F11逐语句调试.

2.在VS中,如果对ObjectDataSource选择BLL类时没有选择,代表你修改了BLL中的类,需要编译(按F5,有错误则修改)之后才能使用.

3. 关于 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值 的解决办法 .
主要症状是 利用 sqladapter.fill 的时候引发异常,信息为"
未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值
解决方法:由强类型 dataset造成的,我发现我原来设置的强类型DataSet设置的主键多了一个,修改过来以后就OK了
参考方法:
关于 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值 的解决办法

4.未能找到带参数的非泛型方法的错误信息的解决方法
出现这个问题大多是在使用ObjectDataSource的时候.这时的数据读取,删除,编辑,添加等都是使用的你在BLL中抽象出来的方法.举个例 子,一个表有4列属性,select以后会在detailview中产生4行内容,其中有一行是不用更新的,于是你在方法中没有设定这个参数.如果你要对 这条选定的数据进行更新,那么ObjectDataSource默认是有4个属性的,但是你的方法确只有3个.这时就会出现"未能找到带参数的非泛型方 法".其实你好好看看报错的内容就知道,肯定是默认的参数个数多出了你定义的个数.要解决其实也简单.一是直接删除ObjectDataSource中自 动生成的那些Update参数.二是在你的方法中定义跟你显示的数据一样多的参数.大不了设定了不用,.也可能是属性名跟数据库中的参数名不同导致.(查看参数集合中的参数个数和参数名,查看BLL中类的方法是否正确,最好是用主键作为查找或删除的依据.是否显示控件在ViewState中保持了视图,如果实在不行,将控件删除重建.)
可能是BLL使用的参数不够或顺序错误或类型错误
可能是ObjectDataSource的Update或其他类型的Parameters的(Collection)中包含了多余或错误的参数.
可能是ObjectDataSource的OldValuesParameterFormatString设置错误
可能是DataKeyNames中包含了多余或错误的主键.
设置显示控件的EnableViewState为false
    可以查看表现层源代码,可以查看ObjectDataSource的(Collection)和OldValuesParameterFormatString,可以查看BLL中类方法的参数,可以查看DataKeyNames,可以查看TableAdapter中SQL方法的参数.可以设置EnableViewState为false(可能性比较小)

5.格式化代码
对整篇代码格式化: Ctrl + E + D
对选定代码格式化: Ctrl + E + F