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
%>
利用COM组件对web数据增,删,改的实现
最新推荐文章于 2022-04-16 08:16:07 发布