利用COM组件对web数据增,删,改的实现

1.测试环境:vb6.0+SQL2000+ASP3.0+WinXp+IIS5.1
2.建立三个存储过程
a.添加用户
CREATE proc add_user
@username varchar(20),
@password varchar(20)
as
insert into userinfo(username,password) values  (@username,@password)
GO
b.修改用户
create proc modify_user
@username varchar(20),
@password varchar(20),
@id int
as
update user_info set username=#username,password=#password where id=#id
GO

c.删除用户
create proc del_user
@id varchar(20)
as
delete from userinfo where id=#id
GO
注:将#号换成@
3.制作com组件
打开vb6.0,新建一个Active DLL项目,将工程命名fuser,类名为userinfo
编写如下代码:
Public Function adduser(ByVal username As String, ByVal password As String) As Boolean
    Dim conn As New ADODB.Connection '建立ADO连接对象,这里New一下,相当于建一个实例
    conn.Open "Provider=SQLOLEDB;User ID=sa;Password=123;database=jsjdjks;server=127.0.0.1" '这里简单啦,连接sql数据
库,通过SA和密码连接
    
    Set cmd = New ADODB.Command '建立Command对象,因为我用了存储过程,这是必须的
    cmd.ActiveConnection = conn '连接参数传值
    cmd.CommandType = adCmdStoredProc '这里表明执行的是存储过程类型
    cmd.CommandText = "add_user" '调用的存储过程名称
    
    cmd.Parameters.Append cmd.CreateParameter("username", adVarChar, adParamInput, 20, username) '外来参数向存储过程
里传递数值
    cmd.Parameters.Append cmd.CreateParameter("password", adVarChar, adParamInput, 20, password) '外来参数向存储过程
里传递数值
    Set rs = cmd.Execute '执行存储过程
    
    If rs.EOF Then '看执行成功没有
        adduser = False '没有执行成功
    Else
        adduser = True '执行成功了
    End If
    
    rs.Close '关闭对象,释放内存
    Set rs = Nothing '同上
    Set cmd.ActiveConnection = Nothing '关闭数据库连接
End Function '函数结束
Public Function modifyuser(ByVal username As String, ByVal password As String, ByVal id As Integer) As Boolean
    Dim conn As New ADODB.Connection '建立ADO连接对象,这里New一下,相当于建一个实例
    conn.Open "Provider=SQLOLEDB;User ID=sa;Password=123;database=jsjdjks;server=127.0.0.1" '这里简单啦,连接sql数据
库,通过SA和密码连接
    
    Set cmd = New ADODB.Command '建立Command对象,因为我用了存储过程,这是必须的
    cmd.ActiveConnection = conn '连接参数传值
    cmd.CommandType = adCmdStoredProc '这里表明执行的是存储过程类型
    cmd.CommandText = "modify_user" '调用的存储过程名称
    
    cmd.Parameters.Append cmd.CreateParameter("username", adVarChar, adParamInput, 20, username) '外来参数向存储过程
里传递数值
    cmd.Parameters.Append cmd.CreateParameter("password", adVarChar, adParamInput, 20, password) '外来参数向存储过程
里传递数值
    cmd.Parameters.Append cmd.CreateParameter("id", adVarChar, adParamInput, 20, id)
    Set rs = cmd.Execute '执行存储过程
    
    If rs.EOF Then '看执行成功没有
        modifyuser = False '没有执行成功
    Else
        modifyuser = True '执行成功了
    End If
    
    rs.Close '关闭对象,释放内存
    Set rs = Nothing '同上
    Set cmd.ActiveConnection = Nothing '关闭数据库连接
End Function
Public Function deluser(ByVal id As Integer) As Boolean
    Dim conn As New ADODB.Connection '建立ADO连接对象,这里New一下,相当于建一个实例
    conn.Open "Provider=SQLOLEDB;User ID=sa;Password=123;database=jsjdjks;server=127.0.0.1" '这里简单啦,连接sql数据
库,通过SA和密码连接
    
    Set cmd = New ADODB.Command '建立Command对象,因为我用了存储过程,这是必须的
    cmd.ActiveConnection = conn '连接参数传值
    cmd.CommandType = adCmdStoredProc '这里表明执行的是存储过程类型
    cmd.CommandText = "del_user" '调用的存储过程名称
    
    cmd.Parameters.Append cmd.CreateParameter("id", adVarChar, adParamInput, 20, id)
    Set rs = cmd.Execute '执行存储过程
    
    If rs.EOF Then '看执行成功没有
        deluser = False '没有执行成功
    Else
        deluser = True '执行成功了
    End If
    
    rs.Close '关闭对象,释放内存
    Set rs = Nothing '同上
    Set cmd.ActiveConnection = Nothing '关闭数据库连接
End Function
4.调用com组件

生成fuser.dll后,在运行里注册,输入命令:regsvr32 D:/fuser.dll就可以了
添加数据这样调用:
  <%
username=request("username")
password=request("password")
Dim obj
set obj=server.CreateObject("fuser.userinfo")
if objjadduser(username,password) then
Response.Write("添加成功!")    
End If  
%>
修改数据这样调用:
  <%
username=request("username")
password=request("password")
id =request.querystring("id")
Dim obj
set obj=server.CreateObject("fuser.userinfo")
if objj.modifyuser(username,password,id) then
Response.Write("修改成功!")    
End If  
%>
删除数据这样调用:
  <%
id=request.querystring("id")
Dim objj
set objj=server.CreateObject("fuser.userinfo")
if objj.deluser(id) then
Response.Write("删除成功!")    
End If  
%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值