日期:2009-10-07  浏览次数:21054 次


  ASP(Active Server Pages)是Microsoft公司动态访问网络数据库的最新技术,目前在Web开发中得到越来越广泛的应用。ASP编程非常灵活,本文通过开发一个数据库维护程序,讲述一下ASP的编程方法。
   开发运行环境
   Oracle服务器:操作系统为UNIX,安装了Oracle8数据库。
   Web服务器:奔腾586,操作系统为NT4.0,在其上安装了Web Server IIS4.0、Oracle Net8 for Client,并创建好了和Oracle8数据库的ODBC接口。
   客户机:Win 95/98操作系统,普通浏览器(Netscape4、IE4或以上版本),并安装开发工具Frontpage 98。
   系统总体网络协议为TCP/IP。
   Web服务器上ODBC的配置
   首先在Web服务器Windows NT上安装访问数据库的ODBC驱动程序,利用ODBC检测工具软件测试与数据库是否连通(运行Oracle ODBC TEST)。连通后,在NT的控制面版中ODBC的正确配置举例如下:microsoft odbc for oracle安装 数据源名称(即odbc的名字) infosystem 描述(d) 信息 oracle用户名称(u) user—name oracle用户密码 user—passwd 服务器(s) ora8
   编写源代码
   数据库的维护包括增加、删除、修改、保存和查询操作。下边这段程序是对Oracle用户为user—name(密码为user—passwd)中的表tab—code(编码库)进行维护,tab—code有两个字段,即bm(编码字段,字符型,5位)和mc(名称字段,字符型,20位)。
   1.与数据库连接,定义子例程:
   <%'赋初值%>
   <% mc=Request("mc") %>
   <%'连接源数据库%>
   <%
   Set Conn=Server.CreateObject("ADODB.Connection")
   Conn.Open "infosystem","user—name","user—passwd"
   '参数的含义见上表
   set bmrs = Conn.Execute("SELECT bm FROM bmb where mc=' "&m
c&" ' ")
   temp1 = bmrs("bm")
   sql—1 = request("sql—1")
   if sql—1 = " " then
   sql—1="SELECT bm,mc FROM table—code WHERE bm like ' " &
temp1 & "%' order by bm"
   end if
   Call treat()
   %>
   <%
   Sub Reset()
   bm = " "
   temp2 = " "
   End Sub
   %>
   <%
   Call Reset()
   num—recn = Conn.Execute("SELECT Max(bm) FROM table—code
WHERE bm like ' " & temp1 & "%' ")
   %>
   <%
   Sub treat()
   Set num—recn = Conn.Execute(sql—1)
   if num—recn.eof then
   else
   sum—recn = 0
   Do While Not num—recn.EOF
   num—recn.MoveNext
   sum—recn = sum—recn+1
   Loop
   if sum—recn <> 0 then
   sele—recn=sum—recn
   num—recn.MoveFirst
   num—recn.Move(sum—recn-1)
   Call extract()
   end if
   end if
   End Sub
   %>
   <%
   Sub extract()
   bm = num—recn("bm")
   temp2 = num—recn(1)
   num—recn.Close
   End Sub
   %>
   2.增加一条记录:
   <%
   sum—recn =sum—recn + 1
   bm = Request("bm")
   temp2 = Request("temp2")
   Insertsql = "INSERT INTO table—code(bm,mc) VALUES (' " &
bm & " ',' " & temp2 & " ')"
   Set Insertrs = Conn.Execute(Insertsql)
   %>
   3.删除当前记录:
   <%bm = Request("bm")
   set delrs = Conn.Execute("Delete From table—code where bm
=' " & bm &" ' ")
   Call treat()
   %>
   4.更新当前记录后入库(提交更新过的记录):
   <%
   bm = Request("bm")
   temp2 = Request("temp2")
   UpdateSQL = "UPDATE table—code SET mc=' " & temp2 & " ' w
here bm=' " & bm &" ' "
   Set UpdateRS=Conn.Execute(UpdateSQL)
   %>
   5.设置查询条件(内容),输出查询结果:
   <%
   Call Reset()
   temp2 = Request("temp2")
   sql—1="SELECT bm,mc FROM table—code WHERE mc like ' " &
temp2 & "%' order by bm"
   call treat()
   %>
   '到第一条记录
   <%
   Set num—recn = Conn.Execute(sql—1)
   sum—recn = Request("sum—recn")
   sele—recn=