ASP基礎講座(下)

來源:互聯網
上載者:User
當我們需要同瀏覽器互動的時候,有時少不了資料庫。因為只有用資料庫才可能大量、快速地處理資訊。使用ASP不僅意味著你可以讀取Access和SQL Server的資料庫,同時也意味著你可以讀取其它ODBC(Open Database Connect,開放式資料庫互聯)相容的資料庫。為了在ASP中訪問資料庫,我們將接觸一個新名詞——ADO(Active Data Object,活動資料對象)。
  ADO是一種操作Microsoft所支援的資料庫的方法,有些類似於以前在VB中聽說過的DAO(Data Access Object,Data Access Objects)和RDO(Remote Data Object,遠端資料物件)。在ASP中,ADO可以看作是一個伺服器組件(Server Component),更簡單點說,是一系列的對象,應用這些功能強大的對象,即可輕鬆完成對資料庫複雜的操作。在這裡我們所要學的是使用這些對象的方法,具體的操作步驟可以歸納為以下幾步:
  (一)建立資料庫源名(DSN)
  (二)建立資料庫連結(Connection)
  (三)建立資料對象
  (四)操作資料庫
  (五)關閉資料對象和連結
  下面具體敘述每一步的作法:
  一、建立資料來源名
  用ODBC時,經常見到DSN這個名詞,它究竟是什麼,有什麼重要作用呢?DSN(Date Source Name)即資料來源名稱。我們知道,ODBC是一種訪問資料庫的方法,只要系統中有相應的ODBC驅動程式,任何程式就可以通過ODBC操縱驅動程式的資料庫。比如我們系統中有Access的ODBC驅動程式,那麼即使我們沒有Access軟體,也可以在我們的程式(如VB編的)中間對一個Access的MDB資料庫加、刪、改記錄。而且我們根本不用知道這個資料庫是放在哪裡的。我們只要寫出SQL語句,ODBC驅動程式就會幫我們做一切事情。我們在給ODBC驅動程式傳SQL指令時,即是用DSN來告訴它到底操作的是哪一個資料庫。如果資料庫的平台變了,比如我們改用了SQL Server的資料庫,只要其中表的結構沒變,我們就不用改寫我們的程式,只要重新在系統中配置DSN就行了。由此可見,DSN是應用程式和資料庫之間的橋樑,要通過ODBC訪問資料庫,前提就是我們必須配置好DSN(即架好橋樑)。一個DSN必須包含一些資訊:
  DSN的名字:就是給這座橋取個名字,當程式訪問資料庫時,給系統傳的就是這個名字,而不是資料庫的實際名稱。
  ODBC驅動程式類型:只有指出驅動程式類型,在我們操作資料庫時,系統才會知道調哪個ODBC驅動程式來服務。
  資料庫:你必須指定這座橋到底串連的是哪個資料庫,但不同的資料庫系統,指定資料庫名字的方法有些不同。
  這座橋是架在系統之中的,所以WIN95(NT)提供了一個工具來完成這件事,即是控制台中的32 BIT ODBC,共有三類,即使用者DSN、系統DSN、檔案DSN。我們一般就用系統DSN,因為這樣可以讓所有在該系統上操作的人都能使用這個DSN。
  開啟Windows的“控制台”,找到表徵圖“32位ODBC)”(有一些系統上叫“ODBC”、“32bit ODBC”),雙擊,出現(如圖一)對話方塊,選中標籤“系統DSN”,點擊“建立”,選驅動程式為Microsoft Access MDB,單擊“完成”,彈出對話方塊(如圖二),輸出“Data Source Name”為“dsn1”,單擊“OK”,再單擊“選擇資料庫”,選中你要使用的資料庫,例如“C:\b1.mdb”,這樣就OK了。以後我們就用“dsn1”來訪問資料庫“c:\b1.mdb”,而不直接用檔案名稱“C:\b1.mdb”,這樣做的好處是,一旦我們改變了檔案名稱或存放地,就不用再一個一個地修改程式中所有該資料庫的名稱,而只需修改DSN中的配置就可以了。
  二、創資料庫連結(Connection)
  用過VB的人都知道,DAO中有連結(Connection),RDO中有odo Connection。連結用以保持一些關於正在訪問的資料的一些狀態資訊,以及連結者資訊。ASP檔案中如果要訪問資料,必須首先建立與資料庫的連結,其文法如下:
  set Mconn=Server createObject(“ADOBDCONNECTION”)
  這條語句建立了連結化物件mConn,接下來:
  mConn.Open “dsn1”,“vsername”,“password”
  這條語句開啟連結,用到了DSN,本例為“dsn1”。其後的兩個參數分別是訪問資料庫的使用者名稱和口令,為選擇性參數。
  注意:必須有以上兩個小步驟,因為連結化物件的建立與開啟是兩回事,只有開啟了才真正可以用。
  三、建立資料對象(Record Set)
  ADO中的資料對象通常儲存的是查詢結果。Record Set是ADO中最複雜的對象,有許多屬性和方法,靈活運用,可以達到許多好的效果。與DAO中的一樣,Record Set儲存的是一行行的記錄,並標有一個目前記錄。以下是建立方法:
  Set Record Set=mConn.Execute(sqtStr)
  這條語句建立並開啟了對象Record Set,其中mCon是先前建立的連結化物件,sqtStr是一個串,代表一條標準的SQL語句,例如:
  sqlStr=“SELECT * FROM tab1”
  Set Record Set=mConn.Exe cute(sqlStr)
  這條語句執行後,對象Record Set中就儲存了表tab1中的所有記錄。在ASP檔案中如何引用返回結果,本文將在文末給出一個執行個體說明。
  四、操作資料庫
  剛才我們通過調用連結化物件的Execute方法來將查詢結果返回給一個資料對象。我們說Execute方法的參數是一個標準的SQL語句串,所以我們可以利用它方便地執行資料插入、修改、刪除等操作,例如:
  sqlStr=“INSERT INTO tab1 VALUES(1,2)”
  mConn.Execute(sqlStr)
  /執行插入操作
  sqlStr=“UPDATE tab1 SET field1=3”
  mConn.Execute(sqlStr)
  /執行修改操作
  五、關閉資料對象和連結化物件
  在使用了ADO對象之後,一定要記住關閉它,因為它使用了一定的伺服器資源。通過調用方法close實現關閉,然後再釋放它。
  Record Set.close
  Set Record Set=Nothing
  /關閉建立的資料對象
  mConn.close
  Set mConn=Nothing
  /關閉建立的連結化物件
  至此,我們已給出了用ASP訪問資料庫的全過程,包括建立資料來源-建立連結-建立資料對象-操作資料對象-關閉並釋放。這其間由於應用物件導向思想,應該說所有操作都比較簡單,使用者需要注意的僅是對資料結構的瞭解,亦要清楚當前所操作的對象是什麼,有什麼屬性,等等。只要對這些有了清醒的認識,再加上ASP的強大功能,在網路上應用你自己的資料庫,就再也不是什麼難事了!
  本文最後給出一個例子,這是基於資料庫的ASP留言簿程式,資料庫結構如下:
  guestbook.mdb
  表lyb:
  xm char(100), ly char(255) , sj datetime
  檔案guestbook.asp:
  <html>
  <head>
  <title>lyb</title>
  </head>
  <body bgcolor=“#ccccf0”>
  <p>留言簿</p>
  <form METHOD=“POST” action=“guestbook.asp”>
  <input type=“hidden” name=“task” value=“insert”>
  <p>姓名:<input TYPE=“text” SIZE=“20” NAME=“xm”></p>
  <p>留言:</p>
  <p><textarea ROWS=“5” COLS=“80” NAME=“ly”></textarea></p>
  <p>&l

[1] [2] 下一頁  



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.