ext.Current.Response.End()
exit Function
finally
End try
Dim x as string
if objdatareader.Read()
' x = objdatareader.GetString(0) 'for option strict
x = objdatareader(0)
End if
objdatareader.Close()
close()
return x
End Function
'
'
'
'析构函数
Sub Destruct()
try
close()
catch
' close()
finally
End try
End Sub
End Class
End namespace
[Ctrl+A 全部选择 然后拷贝]
设计类的时候,一般的说来,能使用现成的最好,重用思想 ,没有的话继承最好,实在没有的话自己设计,一般option explicit , option strict 都是打开的,利于程序有话,然后编译,设计了此类以后再任何页面请不要再跨此类使用数据库,这是出于OO思想(当换使用数据库的时候,只需要修改conn类即可)。
类设计的时候抛出异常的,对于非产品级别的(调试的,其实是永远的,我认为有2个版本,用户的和程序员的,这里指后者),直接调用
try conn.open() catch objerror as Exception HttpContext.Current.Response.Write("<font color =red>Conn类异常:</font>" & objerror.Message & ":" & objerror.source) Exit sub End try
这样的形式就可以了。
我在这里还使用了一个验证码的一个基类,就是那个验证码,我也单独设计了一个类:
代码拷贝框
[Ctrl+A 全部选择 然后拷贝]
坦白的说,确实不怎么样的类,此类只有一个共享方法:
Img::CheckImg (optional imgcheckid as string = "imgcheck", _ optional imgwidth as integer = 65,optional imgheight as integer = 25 , _ optional strsize as integer = 4 ,optional fonttype as string = "arial" , _ optional Fontdaxiao as integer =16,optional rgb1 as integer = 187 , _ optional rgb2 as integer = 251,optional rgb3 as integer = 255)
optional 的意思就是参数可选。
参数名称都是表意的,您可以理解的。
第三个就是一个UBB代码的,我也是设计了一个类:CjjerBase: bbCode:
代码拷贝框
|