<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      ASP編寫數據庫維護程序

      [摘要]ASP(Active Server Pages)是Microsoft公司動態訪問網絡數據庫 的最新技術,目前在Web開發中得到越來越廣泛的應用。ASP編程非常靈 活,本文通過開發一個數據庫維護程序,講述一下ASP的編程方法。 開發運行環境 Oracle服務器:操作系統為UNIX,安裝了Oracle...

      ASP(Active Server Pages)是Microsoft公司動態訪問網絡數據庫
      的最新技術,目前在Web開發中得到越來越廣泛的應用。ASP編程非常靈
      活,本文通過開發一個數據庫維護程序,講述一下ASP的編程方法。
      開發運行環境
      Oracle服務器:操作系統為UNIX,安裝了Oracle8數據庫。
      Web服務器:奔騰586,操作系統為NT4.0,在其上安裝了Web Server
      IIS4.0、Oracle Net8 for Client,并創建好了和Oracle8數據庫的OD
      BC接口。
      客戶機: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用戶密碼 use
      r—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=1
      Call extract()
      %>
      <%
      '查找前一條記錄
      Set num—recn = Conn.Execute(sql—1)
      sele—recn = Request("sele—recn")
      sum—recn = Request("sum—recn")
      if sele—recn >1 then
      sele—recn = sele—recn-1
      num—recn.Move(sele—recn-1)
      end if
      Call extract()
      %>
      <%
      '查找下一條記錄
      Set num—recn = Conn.Execute(sql—1)
      sele—recn = Request("sele—recn")
      sum—recn = Request("sum—recn")
      if CInt(sele—recn) < CInt(sum—recn) then
      sele—recn=sele—recn+1
      num—recn.Move(sele—recn-1)
      else
      num—recn.MoveFirst
      num—recn.Move(sum—recn-1)
      end if
      Call extract()
      %>
      <%
      '到最后一條記錄
      Call treat()
      %>
      開發過程中遇到的問題及解決方法
      1.用Frontpage98配合ASP技術的開發模式,雖然不是很標準,但是
      編程效率高,而且簡單易行。而用Studio6.0中的INTER DEV進行編程,
      應該是最標準的,但其編程復雜,維護難度大。
      為了提高效率和保持代碼的正確性,我們可用記事本打開ASP程序
      ,將部分代碼輸入或粘貼上去,從而避免程序代碼的丟失或篡改。
      2.有時ASP程序訪問數據庫時,如果遇到網絡瓶頸等因素,速度會
      變慢,此時往往會返回“運行超時”的錯誤,解決此問題的方法是,將
      延時時間設得足夠大,如:
      <%server.scripttimeout=10000%>(出處:熱點網絡)


      日韩精品一区二区三区高清