
做了个ActiveReports的报表.小日本说报表太慢了,能不能优化下,快点.找来找去,找不出毛病啊.
后来想起来数据库字段取出来赋值时候防止出错,用了Try Catch.结果可想而知.一个几秒的报表用了几分钟才出来.......
举个例子就是把下面这个函数
Function NullToInt(ByVal obj As Object) As Integer
If IsDBNull(obj) Then
Return 0
Else
Try
Return CInt(obj)
Catch ex As Exception
Return 0
End Try
End If
End Function
改成下面这个就好了.
Function NullToInt(ByVal obj As Object) As Integer
On Error GoTo ERR_FLAG
If IsDBNull(obj) Then
Return 0
Else
Return CInt(obj)
End If
ERR_FLAG:
Return 0
End Function

真是太大意了.这么个共通的几乎报表上每个字段赋值时都调用的函数竟然用了Try Catch. 丢人啊
posted @ 2007-08-09 11:25
BoyLee 阅读(358)
评论(3) 编辑 收藏 所属分类:
Others