初试VB封装asp组件

首先,找个地方去下载VB,这个东西以前上学的时候还挺喜欢,经常搞搞,有段时间没弄了。网上搜下"VB精简板",有很多连接,我是在华军上下的。
      接着做个简单例子试一下,
      (1)启动你的VB,选择ActiveX图标.这个图标可以在新建工程找到!VB会提供一个默认的工程名(project1)和类名( class1).我们会将这两个名字都改掉。在改名之前,请首先确认我们拥有Microsoft Active Server Pages Object Library,它在我们的程序非常有用.从菜单中选择"工程",然后在其中选择"引用",就会出现"引用"窗口从中选择Microsoft Active Server Pages ObjectLibrary。
      (2)给工程和类命名,现在我们来根据自己的爱好来为project1和class1来命名吧!给它们命名也是很重要的,我们以后会用这个工程名和类名 来创建这个组件的实例!后面详细介绍。如何改名,我就不想多说了!我们的工程名改为test,类名为helloworld。
      (3)在类中输入以下代码:
Option Explicit
Dim rp As Response
Dim rq As Request
Dim ap As Application
Dim sr As Server
Dim sn As Session
Public Event OnStartPage()
Public Event OnEndPage()

Public Sub OnStartPage(mysc As ScriptingContext)
     ''进行对象的实例化
     Set rp = mysc.Response
     Set rq = mysc.Request
     Set sr = mysc.Server
     Set ap = mysc.Application
     Set sn = mysc.Session
     rp.Write "<br>ActiveX DLL组件已经被创建了!<br>"
End Sub

Public Sub OnEndPage()
     rp.Write "<br>ActiveX DLL组件已经被销毁!<br>"
     ''销毁对象
     Set rp = Nothing
     Set rq = Nothing
     Set sr = Nothing
     Set ap = Nothing
     Set sn = Nothing
    End Sub

Public Sub helloworld()
     rp.Write "<H1>Hello,World!</H1>"
End Sub
       现在一个小型的组件编写完成,剩下的工作就是编译这个组件,在"工程"菜单中保存它,取什么名字都可以,我们用test.vbp吧!然后就用在“文件”菜单中选择“生成 test.dll”,将其编译成DLL文件.一个组件就真正完成了! 
      (4)生成好组件,下面需要注册组件。注册组件可以从“开始-运行”里面,输入“Regsvr32 E:/test/test.dll”路径当让是用自己的路径啦。
      (5)编写asp页面,新建一个test.asp页面,输入以下代码:
<HTML>
<HEAD>
<TITLE>test</TITLE>
</HEAD>
<BODY>
<%
Set ObjReference=Server.CreateObject("test.helloworld")
ObjReference.helloworld
%>
</BODY>
</HTML>
     (6)发布到IIS下面,访问一下就可以看到效果啦。
 
      上面这个小例子如果能调通的话,其他的就依葫芦花瓢好了。在我们系统里,我主要把数据库操作的部分封装了一下。在VB中,首先要把Microsoft Activex Data Object 2.5 Library引用到当前工程中,之后新建一个DB.class类,代码如下:
 
           
Dim gCon_Data
Const connstr = "Provider=SQLOLEDB.1;Password=cshgcl;Persist Security Info=False;User ID=cshgcl;Data Source=127.0.0.1;Initial Catalog=CSHGCL"

 Private Sub Class_Initialize()
    '功能:类初始化
    '参数:无
    '返回:无              
        Call ConnectToServer(connstr)   
End Sub
Public Function ConnectToServer(str As String)

   Dim Con_Data
 
  Set Con_Data = New ADODB.Connection
  Con_Data.Open connstr
  Set gCon_Data = Con_Data
             
End Function

 Public Function DisConnect()
    On Error Resume Next
    Con_Data.Close
End Function

  
Public Function RunSQLSearch(pStr_Sql, pRec_Data)
 '查询数据库
 'pRec_Data 作为返回值
    Dim Rec_Data
    Dim connstr
    Dim Con_Data
    Set Rec_Data = New ADODB.Recordset
    Rec_Data.Open pStr_Sql, gCon_Data, 3, 1
     If RunError Then
            Set pRec_Data = Nothing
            RunSQLSearch = False
    Else
            Set pRec_Data = Rec_Data
            RunSQLSearch = True
    End If
 End Function
 
  Function ExecuteSQL(pStr_Sql)
   '增,删,改 数据库
        On Error Resume Next
        gCon_Data.Execute pStr_Sql
        If RunError Then      
            ExecuteSQL = False
        Else   
            ExecuteSQL = True
        End If
    End Function
 
 Function RunError()
    '功能:存储错误信息
    '参数:无
    Dim Str_Error
    Dim insert_str As String
    RunError = False
    If Err.Number <> 0 Then
        Str_Error = "(" + CStr(Err.Number) + ")" + Trim(Err.Description)
          
        insert_str = "Insert into ErrLog (ErrTime,ErrMsg) values (getdate(),'" + Str_Error + "')"
          
        gCon_Data.Execute insert_str
          
        RunError = True
          
    End If
   
End Function
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值