随着因特网的发展,在网络环境中,数据库应用渐渐向操作简单、功能实用的方向发展。本文介绍如何利用asp技术实现对
数据库进行在线维护的方法,并给出了各种功能键的实现过程。
实现功能
数据库管理员可在网上直接维护数据库。在数据查询与数据库维护界面中(见图1),通过复选框选取所要操作的数据行,
并在功能键区通过单选按钮选取所要进行的操作,然后按“提交”按钮,即可进行所需操作,并得到返回信息(见图2)
图1 数据查询与数据库维护界面
图2 返回信息提示界面
实现环境如下:
客户端:windows 98 操作系统+ie 5.0浏览器
服务器端:sql server 7.0数据库
网站应用程序开发环境:active server pages (asp)
网页制作开发环境:microsoft frontpage 2000
编程实现
首先,用frontpage 2000编制数据查询与数据库维护界面,通过与后台sql server数据库standard建立关联,从数据
库表中查取数据,生成数据集合rs。为加快程序访问速度,可以将其保存在session对象rs1中。部分代码如下:
<%
sql=“select * from inform order by pdate desc”
set rs=server.createobject(“adodb.recordset”)
rs.open sql,“driver={sql server};server=
(local);database=info;uid=user;pwd=password;”,3,2
set session(“rs1”)=rs
%>
插入一个form,添加“插入”、“删除”、“修改”等功能键,并将功能键处的单选按钮的组名称设为edit,按钮值分
别对应为“insert”、“delete”、“update”。
然后,编写asp程序tzwh1.asp 文件。从session 中读取数据,根据数据项用split函数将其分开,转化为一个数组进
行处理,并用trim函数去掉数据前后空格。程序部分代码如下:
<% set rs=session(“rs1”)
edit=trim(request(“edit”))
id=“, ”&trim(request(“id”))&“, ”
eno=split(trim(request(“no”)), “, ”)
etitle=split(trim(request(“title”)), “, ”)
epdate=split(trim(request(“pdate”)), “, ”)
ewriter=split(trim(request(“writer”)), “, ”)
econtent=split(trim(request(“content”)) , “, ”)
%>
最后,实现功能键。功能键的选择用case 语句实现。每一个实现过程中,利用instr比较函数将读出来的eno与数据项
的标识号id相比较,可识别出所选的复选框是否有效。for循环体的下界采用ubound函数,避免了网页数据的提取错误。部
分程序代码如下:
<% select case edit
case “insert”
for i=0 to ubound(eno)
if instr(id,“, ”&trim(eno(i))&“,”)>0 then
rs.addnew
rs(“title”)=trim(etitle(i))
rs(“pdate”)=trim(epdate(i))
rs(“writer”)=trim(ewriter(i))
rs(“content”)=trim(econtent(i))
rs.update
%>
<tr>
<td align=“center”><% =rs(“pdate”)
%>.</td>
<td><font color=“#008080”><% =rs(“title”) %>.</font></td>
<td><font color=“#008080”>插入新记录成功!</font></td>
</tr>
<% end if
next%>
<% case “delete”
for i=0 to 9
if instr(id,“, ”&trim(rs(“id”))&“,” )>0 then%>
<tr>
<td align=“center”><% =rs(“pdate”)
%>.</td>
<td><% =rs(“title”) %>.</td>
<td><font color=“#ff0000”>记录删除成功!</font></td>
</tr>
<%
rs.delete 1
end if
rs.movenext
if rs.eof then exit for end if
next
case “update”
for i=0 to 9
if instr(id,“,”&trim(rs(“id”))&“,”)>0 then
rs(“title”)=trim(etitle(i))
rs(“pdate”)= trim(epdate(i))
rs(“writer”)= trim(ewriter(i))
rs(“content”)= trim(econtent(i))
rs.update %>
<tr>
<td align=“center”><% =rs(“pdate”)
%>.</td>
<td><% =rs(“title”) %>.</td>
<td><font color=“#0000ff”>记录修改成功!</font></td>
</tr>
<% end if
rs.movenext
if rs.eof then exit for end if
next
end select
%>
