12 2008 档案

摘要: 如果你的项目要求你的程序对高达几万条的数据在集中的时间内执行固定序列的操作,且不能完全使用存储过程时而需要使用程序来执行时。会需要这些优化。 我们知道,SQL服务器对一条语句的执行,需要分析、编译、执行这些步骤,通过参数化我们可以对一种命令只分析和编译一次,而执行多次,从而提高效率。在执行时,如果每次提交语句,可以完成多条SQL语句,则可以减少通讯时间,也可以提高效率。 通过 System.Data.IDbCommand.Prepare() 方法,我们可以在第一次执行语句时,分析和编译SQL语句,然后保存这个Command对象,下次使用时,直接设置参数执行。这个方法对Oracle和MsSql Server都有效。 如果执行一批语句,在T-SQL和PLSQL中有一点不一样。 在T-SQL中,多条SQL语句之间,使用分号";"分隔就行。 delete from TableA where id = @id;update TableB set Name=@name where id=@id 而在PLSQL中,则需要阅读全文
posted @ 2008-12-29 10:02 阿牛 阅读(2963) | 评论 (18) 编辑
摘要: 动态控件,复合控件,相信大家都已经很熟悉了。只要达到同样的展示及功能,用什么样的方式实现应该取决于实际情况。我在一个项目中遇到的情况是:已经有了很多页面,但每个页面都没有用Validation控件来验证输入的有效性。 为了达到相同的展示效果: 常规办法:是为每个页面的每个TextBox有选择的生成RequiredFieldValidator、RangeValidator、 CompareValidator、RegularExpressionValidator、FilteredTextBoxExtender。但这个方法,需要每个页面都去添加,并且统一调整起效果来,工作量太大。 复合控件:是写一个复合控件,依参数来添加验证控件。这个也需要在页面中统一添加一次(工作量约为第一个办法的1/3),还需要更改一下后台的控件类型声明(我的后台代码在另一个程序集中)。 动态控件:写了个直接继承自TextBox的控件,在适当的地方,依参数来添加验证控件。这个也需要在页面中统一改动一下(工作量和复合控件的方法相当),不过,后台的代码不用做发改阅读全文
posted @ 2008-12-10 17:29 阿牛 阅读(1449) | 评论 (11) 编辑
摘要: 如果非要用CustomValidator+WebService+asp.net ajax进行验证,这里给出也一个实现的方法。还贴出了一个常规的做法!阅读全文
posted @ 2008-12-09 16:25 阿牛 阅读(752) | 评论 (0) 编辑