熱點推薦:
您现在的位置: 電腦知識網 >> 電腦故障 >> 正文

個人主頁的數據庫解決的方案ASP

2013-11-12 00:01:11  來源: 電腦故障 

  如今CGI日漸衰落ASP大行其道大有取而代之之勢對個人主頁制作者而言CGI也確實太復雜了尤其是在數據庫的操作上繁復無比讓人望而生畏相較而言 ASP則簡單得多其面向對象的思想將復雜的底層操作掩蓋只留下簡單的調用接口對數據庫的操作更是將它的優點體現得淋漓盡致
  
  本文將簡單介紹在個人主頁中運用ASP連接數據庫實現動態網頁相信您在讀完本文後您的主頁將更加精彩
  
  在ASP中查詢ACCESS 數據庫
  
  ASP能讓我們用簡單的方法在網頁中查詢更新數據庫下面將給出的例子用的是MS ACCESS DATABASE但是其操作的原理卻可同樣地運用在任何支持ODBC的數據庫上(之所以選擇ACCESS是因為它容易操作且被廣泛使用對大多數的中小型項目而言ACCESS無疑是最好的選擇)
  
  先用ACCESS建立一個數據表如下:
  
  用戶編號 姓名 城市 電話號碼
  
   張三 武漢
  
   李四 北京
  
   王五 上海
  
  再請看下面的一段例子:
  
  <%
  
  SET DBCONNECTION=SERVER.CREATEOBJECT(“ADODB.CONNECTION”)
  
  DBCONNECTION.OPEN “DSNNAME”
  
  SQLQUERY=“SELECT * FROM CUSTOMERS”
  
  SET RECUSTIONMERLIST=DBCONNECTION.EXECUTE(SQLQUERY)
  
  %>
  
  < CENTER>
  
  < TABLE BORDER=1>
  
  < % DO WHILE NOT RECUSTOMERLIST.EOF %>
  
  < TR>
  
  < TD><%=RECUSTOMERLIST(“客戶編號”)%>< /TD>
  
  < TD><%=RECUSTOMERLIST(“姓名”)%>< /TD>
  
  < TD><%=RECUSTOMERLIST(“城市”)%>< /TD>
  
  < TD><%=RECUSTOMERLIST(“電話號碼”)%>< /TD>
  
  < /TR>
  
  < % RECUSTOMERLIST.MOVNEXT LOOP %>
  
  < /TABLE>
  
  < /CENTER>
  可以看到ASP的語法是VBSCRIPT其面向對象的思想也與VB相類似所以只要您初通VB或者VBSCRIPT那ASP可以很容易地上手
  
  上面的一部分可以說是ASP中ADO的精髓所在下面我們討論一下代碼的內容<%和%>是ASP代碼的開始和結束標志服務器在返回用戶請求時先將<%和%>中的內容解釋成為標准的html代碼再將它發送到客戶浏覽器存取數據庫時首先要建立連接也就是聲明一個CONNECTION類的實例(對象)然後運用CONNECTION類的OPEN方法將連接對象連接到一個ODBC數據源上在上例中就是DSNNAME這是一個DSN至於什麼是DSN後面將有介紹在此先按下不表到此數據庫的連接就已經完成了下面要進行的是數據庫的操作
  
  操作也是很簡單的先定義一個SQL語句字串然後調用CONNECTION的EXECUTE方法執行執行的結果儲存在一個RECORDSET類(可以看成是一個臨時存放數據的表)的對象中在上例中是RECUSTOMERLIST這樣數據庫的查詢調用也就完成了再只需將它輸出即可
  
  在DO WHILE LOOP的循環中輸出時調用ASP中RESPOND對象的WRITE方法一般可以簡寫為=而語句RECUSTOMERLIST(字段名)返回的是當前紀錄對應字段的值最後調用的是RECORDSET類的MOVENEXT方法將紀錄指針移到下一個紀錄反復執行直到RECUSTOMERLIST的EOF(文件尾)為真這樣就將返回的查詢結果輸出了
  
  上面所講的只是一點ASP數據存取的基本知識但我們已可略窺ASP強大的功能
  
  現在我們可以通過ASP來存取數據庫實現動態效果但還有一個問題:現在提供ASP支持的個人免費網頁大多數並不提供數據庫的支持也就是說你無法在它的數據庫系統中建立並擁有自己的數據庫若用本地數據庫你也無法配置服務器主機中的ODBC無法得到你本地數據庫的DSN也就不能通過ASP來存取數據庫了怎麼解決這個問題呢?下面的討論將給出一個簡單的方法那就是FILE DSN
  
  首先解釋幾個名詞
  
  DSN:根據MICROSOFT的官方文檔DSN的意思是應用程序用以請求一個連到ODBC數據源的連接(CONNECTION)的名字換句話說它是一個代表ODBC連接的符號它隱藏了諸如數據庫文件名所在目錄數據庫驅動程序用戶ID密碼等細節因此當建立一個連接時你不用去考慮數據庫文件名它在哪兒等等只要給出它在ODBC中的DSN即可
  
  FILE DSN: 當我們討論這個問題時先看看其他的DSN類型
  
  SYSTEM DSN:這種DSN可以被任何登錄到系統中的用戶使用
  
  USER DSN:這是為特定用戶建立的DSN只有建立這個DSN的用戶才能看到並使用它在上面的兩種情況中DSN的細節都儲存在系統的注冊表中
  
  知道了上面的預備知識後讓我們來看看什麼是FILE DSNFILE DSN 將DSN的細節內容存貯在一個文件中而不是存貯在系統注冊表中這個文件是簡單的文本文件dsn作為擴展名
  
  雖然這聽起來挺簡單但你需要知道那些組成DSN文件的參數下面給出一個簡單的用來存取ACCESS的DSN文件
  
  ---- filedsn ----
  
  [ODBC]
  
  DRIVER=Microsoft ACCESS Driver (*mdb)
  
  ReadOnly=
  
  UserCommitSync=Yes
  
  Threads=
  
  SafeTransactions=
  
  PageTimeout=
  
  MaxScanRows=
  
  MaxBufferSize=
  
  ImplicitCommitSync=Yes
  
  FIL=MS ACCESS
  
  DriverId=
  
  將它命名為filedsn當然你可根據你的願意改名
  
  建立了這個文件後工作已完成了一半下面的工作是建立一個連接當用一個SYSTEM DSN時建立連接只要簡單地引用SYSTEM DSN:
  
  connopen mydsn(conn是連接對象的名字)
  
  當應用如上的FILS DSN 時你需要加入更多的參數來說明
  
  Connopen filedsn=c:\webdir\filedsn;DBQ=c:\DATABASE\mydbmdb;UID=admin;PWD=admin;
  
  C:\webdir是dsn文件所在的目錄它需要用文件的物理路徑你可以用SERVERMAPPATH方法來得到如ServerMapPath(/mysite/filedsn)同樣對於DBQ參數也需如此UID和PWD參數是可選的
  
  簡而概之要建立一個可重用的FILE DSN
  
  )用DSN參數建立一個以dsn為擴展名的文本文件
  
  )用FILEDSN和DBQ參數建立連接你可以用SERVERMPAPATH來得到物理路徑
  
  )只需更改DBQUID和PWD參數就可將這個FILE DSN用到任何ACCESS數據庫上
  
  需要注意的是對其他非ACCESS類型的數據庫需要應用不同的參數值和一些附加的參數

From:http://tw.wingwit.com/Article/Fault/201311/10485.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.