乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何在ASP中訪問Oracle?

       aaie_ 2012-09-11

      我一直使用Oracle數(shù)據(jù)庫,現(xiàn)在需要Web上對Oracle8數(shù)據(jù)庫進(jìn)行訪問,可我發(fā)現(xiàn),在ASP中,ADOOracle的訪問并不順利,不但速度慢,而且還不能訪問Oracle8的數(shù)字型字段(?。┱垎栍惺裁崔k法可以實(shí)現(xiàn)對它們的順利訪問?

       

      我們可以利用Oracle Object for OLE所包含的Oracle Objects Server來實(shí)現(xiàn)在ASP中對Oracle 8的訪問。Oracle Objects Server共提供Oraclient、OrasessionOraconnection、OraDatabase、OraDynaset、OraSQLstmtOraField、Oraparameter、Oraparameter Array等九個對象供開發(fā)者使用。

      Oracle Object for OLEOracle公司為客戶端訪問數(shù)據(jù)庫開發(fā)的一個軟件,運(yùn)行在Windows95/98/NT平臺。在用Oracle Objects Server訪問Oracle8數(shù)據(jù)庫之前,我們必須在Web服務(wù)器上安裝Oracle Object for OLE,然后利用SQL+net Client2.XOracle net8 Client8.X進(jìn)行數(shù)據(jù)庫的連接測試并設(shè)置數(shù)據(jù)庫別名。

      下面舉一個在ASP中利用Oracle Object for OLE2.3查詢Oracle 8.0.5數(shù)據(jù)庫,并進(jìn)行分頁顯示的程序范例。需要說明,由于Orasession對象的屬性中沒有控制分頁的屬性,本例同時使用了一個分頁控制的程序,chunfeng.asp文件先取得數(shù)據(jù)庫表的內(nèi)容,然后計算分頁的頁數(shù),如果頁數(shù)超過一頁,則交由chunfeng01.asp處理。具體代碼如下:

      chunfeng.asp
      <%
      set orasession=createobject("oracleinprocserver.xorasession")
      set oradatabase=orasession.dbopendatabase("orant","scotter/tiger",0)

      ' 連接數(shù)據(jù)庫
      sql="select * from cq_hjwj "
      set session(oradynaset)=oradatabase.dbcreatedynaset(sql,0)

      '設(shè) 置查詢條件
      pagesize=15

      ' 設(shè)置頁長
      if session(oradynaset).recordcount=0 then
      response.write "
      對不起,沒有找到符合條件的數(shù)據(jù)!"
      else
      response.write"<h3>
      查詢結(jié)果</h3>"
      pages=int(session(oradynaset).recordcount/pagesize)
      if pages*pagesize=session(oradynaset).recordcount then
      pages=int(session(oradynaset).recordcount/pagesize)

      ' 計算頁數(shù)
      else
      pages=int(session(oradynaset).recordcount/pagesize)+1
      end if
      if request("page")="" then
      page=1
      else
      page=cstr(request("page"))
      end if
      response.write"
      "&pages&",目前第"&page&""
      response.write"<table border=5><tr>"
      for i=0 to session(oradynaset).fields.count - 1
      response.write"<td>"
      response.write session(oradynaset).fields(i).name
      response.write"</td>"
      next
      response.write "</tr>"
      startrow=(page-1)*pagesize+1
      endrow=page*pagesize
      oradynaset.moveto startrow
      for j=startrow to endrow
      response.write"<tr>"
      for i=0 to session(oradynaset).fields.count - 1
      response.write"<td>"
      response.write session(oradynaset).fields(i).value
      response.write"</td>"
      next
      response.write"</tr>"
      session(oradynaset).dbmovenext
      if session(oradynaset).eof then exit for
      next
      response.write"</table>"
      end if
      if page>1 then
      response.write "<a href='chunfeng01.asp?page=1'>
      第一頁</a>  "
      response.write "<a href='chunfeng01.asp?page=" & page-1 & "'>
      上一頁</a>  "
      end if
      if cint(page)<pages then
      response.write "<a href='chunfeng01.asp?page=" & page+1 & "'>
      下一頁</a>  "
      response.write "<a href='chunfeng01.asp?page=" & pages & "'>
      最后頁</a>  "
      end if
      set orasession=nothing
      %>
      <html>
      </html>
        
      chunfeng01.asp
      <%
      pagesize=15

      ' 設(shè)置頁長
      if session(oradynaset).recordcount=0 then
      response.write "
      對不起,沒有找到符合條件的數(shù)據(jù)!"
      else
      response.write"<h3>
      查詢結(jié)果</h3>"
      pages=int(session(oradynaset).recordcount/pagesize)
      if pages*pagesize=session(oradynaset).recordcount then
      pages=int(session(oradynaset).recordcount/pagesize)

      ' 計算頁數(shù)
      else
      pages=int(session(oradynaset).recordcount/pagesize)+1
      end if
      if request("page")="" then
      page=1
      else
      page=cstr(request("page"))
      end if
      response.write"
      "&pages&",目前第"&page&""
        
      response.write"<table border=5><tr>"
      for i=0 to session(oradynaset).fields.count - 1
      response.write"<td>"
      response.write session(oradynaset).fields(i).name
      response.write"</td>"
      next
      response.write "</tr>"
      startrow=(page-1)*pagesize+1
      endrow=page*pagesize
      oradynaset.moveto startrow
      for j=startrow to endrow
      response.write"<tr>"
      for i=0 to session(oradynaset).fields.count - 1
      response.write"<td>"
      response.write session(oradynaset).fields(i).value
      response.write"</td>"
      next
      response.write"</tr>"
      session(oradynaset).dbmovenext
      if session(oradynaset).eof then exit for
      next
      response.write"</table>"
      end if
      if page>1 then
      response.write "<a href='chunfeng01.asp?page=1'>
      第一頁</a>  "
      response.write "<a href='chunfeng01.asp?page=" & page-1 & "'>
      上一頁</a>  "
      end if
      if cint(page)<pages then
      response.write "<a href='chunfeng01.asp?page=" & page+1 & "'>
      下一頁</a>  "
      response.write "<a href='chunfeng01.asp?page=" & pages & "'>
      最后頁</a>  "
      end if
      set orasession=nothing
      %>
      <html>
      </html>

      Oracle Objects Server提供的九個對象的功能與作用分述如下:

      序號

      對象名稱

         

      1

      Oraclient對象

      用來定義服務(wù)器端(ClientWorkstation)的范圍,Oraclient會記錄此服務(wù)器端的所有Orasession對象。由系統(tǒng)根據(jù)需要自動建立。

      2

      Orasession對象

      用來在程序中管理Oraconnection、OraDatabase、OraDynaset等對象,其建立方法為:

      Set Orasession=Create(OracleInProcServer.Xorasession)

      3

      Oraconnection對象

      表示對OraDatabase對象的連接,當(dāng)需要建立OraDatabase對象時,系統(tǒng)會自動產(chǎn)生一個Oraconnection對象。反之,當(dāng)與數(shù)據(jù)庫斷開連接時,Oraconnection對象自動釋放。

      4

      OraDatabase對象

      表示對數(shù)據(jù)庫服務(wù)器的虛擬登錄,其登錄方法為:

      Set Oradadabase=Orasession.Dbopendatabase_ (“數(shù)據(jù)庫別名”, “用戶名稱/密碼”,0)

      5

      OraDynaset對象

      將數(shù)據(jù)庫服務(wù)器符合SELECT命令的數(shù)據(jù)加以存儲在客戶端的緩沖區(qū),讓用戶瀏覽或更新,最后將結(jié)果寫回到服務(wù)器,其方法:

      SetOraDynaset=OraDatabase.DbcreateDynaset(SQL語句”,0)

      6

      OraSQLstmt對象

      通常用來運(yùn)行SQL命令,或調(diào)用存儲過程,其用法為:

      Set Orasqlstmt=Oradatabase.createSQl(SQL語句”,0)

      7

      OraField對象

      表示在OraDynaset對象中的某個字段或數(shù)據(jù)項(xiàng)目,它通過Value屬性設(shè)置或取得OraDynaset對象中的某個字段值。

      8

      Oraparameter對象

      表示一個在SQL命令或PL/SQL程序區(qū)塊中所附加的變量。

      9

      Oraparameter Array對象

      Oraparameter對象的數(shù)組類型。它可以間接通過OraDatabase對象的Oraparameter數(shù)據(jù)集合來增加、存取或刪除某個變量。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多