ASP與資料庫


ASP(Active Server Page)程式是伺服器端Script,它只能在Web伺服器執行。當客戶端瀏覽器向伺服器要求開啟ASP程式時,伺服器會讀取該程式,然後執行該程式並將結果轉換為HTML文件,再將HTML文件傳送給瀏覽器,待瀏覽器收到HTML文件後,便會將ASP程式的執行結果顯示在瀏覽器上。

ASP是透過一組統稱為ADO(Active Data Objects)的物件模組來存取資料庫,無論使用的是Access、 SQL Server、Visual FoxPro、Oracle、dBase或其他資料庫,只要該資料庫具有對應之ODBC或OLE DB驅動程式,ADO物件就能加以存取。欲知系統已提供的ODBC驅動程式,Windows 2000使用者可查看[控制台]→ [系統管理工具]→[資料來源(ODBC)]。Microsoft公司所提供的OLE DB驅動程式包括: Microsoft OLE DB Provider for Microsoft Jet(可存取Microsoft Access Database)、 OLE DB Provider for SQL Server(可存取SQL Server資料庫)。

開啟與關閉Access資料庫(使用ODBC驅動程式)

 

<%
Set Conn = Server.CreateObject("ADODB.Connection") '建立Connection物件
Driver = "Driver={Microsoft Access Driver (*.mdb)};"
DBPath = "DBQ=" & Server.MapPath("School.mdb") & _
";Pwd=XXXXXX" '資料庫連結方式
Conn.Open Driver & DBPath '開啟資料庫(School.mdb)連結
Set RS = Server.CreateObject("ADODB.Recordset") '建立Recordset物件
RS.Open "student",Conn,1,3 '從資料表(student)讀取記錄存放在Recordset物件,
'1 表示記錄指標可上下移動,更新過的記錄會立即反
'映到先前已讀取的Recordset物件,3表示只有在呼叫
'Update方法做更新時才鎖定記錄

'讀取資料表的欄位名稱做為標題
For I = 0 To RS.Fields.Count - 1
Response.Write RS.Fields(I).Name & " "
Next

'顯示資料表中所有紀錄
Do While Not RS.EOF '檢查是否到達資料表的結尾
Response.Write RS(0) & " " & RS(1) & " " & RS(2)
RS.MoveNext '將記錄指標移到下一筆記錄(另有RS.MoveFirst,RS.MoveLast)
Loop

'尋找記錄並顯示
RS.Find="學號='1234'"
Response.Write "學號:" & RS("學號") & "<BR>"
Response.Write "姓名:" & RS("姓名") & "<BR>"
Response.Write "性別:" & RS("性別") & "<BR>"
Response.Write "年齡:" & RS("年齡") & "<BR>"
範例
  '新增記錄
RS.AddNew Array("學號","姓名","性別","年齡"), Array("30","王大明","男","20")
RS.Update
範例
  '修改目前記錄指標所指的記錄
RS("姓名")="張三"
RS.Update
範例
  '刪除目前記錄指標所指的記錄
RS.Delete
範例
%>



<%
RS.Close '關閉記錄集
Set RS = Nothing '釋放RS物件所佔用空間
Conn.Close '關閉資料庫連結
Set Conn = Nothing '釋放Connection物件所佔用空間
%>
開啟與關閉Access資料庫(使用OLE DB驅動程式)

欲使用OLE DB驅動程式開啟Access資料庫,只需將上面描述資料庫連結方式修改如下:

 

<%
Driver = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath("School.mdb") & _
";Jet OLEDB:Database Password=XXXXXX"
%>
連結SQL Server

欲使用OLE DB驅動程式開啟SQL Server資料庫,只需將上面描述資料庫連結方式修改如下:

 

<%
Driver = "Provider=SQLOLEDB;Data Source=伺服器名稱;"
DBPath = "Initial Catalog=資料庫名稱;User Id=登入帳號;Password=登入密碼"
%>
連結Visual FoxPro檔案

欲開啟Microsoft Visual FoxPro檔案(目錄被視為資料庫,dbf檔案被視為資料表),只需將上面描述資料庫連結方式修改如下:

 

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Visual FoxPro Driver};"
DBPath = "SourceType=DBF;SourceDB=" & Server.MapPath("./")
%>
連結Excel檔案

欲開啟Excel檔案(檔案中的工作表被視為資料表),只需將上面描述資料庫連結方式修改如下:

 

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "DRIVER={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath("School.xls")
Conn.Open Driver & DBPath
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open [student$], Conn, 1, 3 '注意資料表(student)的表示法
%>
連結Text檔案

欲開啟Text檔案(目錄被視為資料庫,Text檔案被視為資料表,第一行用來描述欄位名),只需將上面描述資料庫連結方式修改如下:

 

<%
Driver = "DRIVER={Microsoft Text Driver (*.txt;*.csv)};"
DBPath = "DBQ=" & Server.MapPath("./")
%>
資料表student.txt的格式內容大致如下:

 

"學號","姓名","性別","年齡"
"0001","張三","男","20"
"0002","李四","女","19"


 

    全站熱搜

    sleepingwolf 發表在 痞客邦 留言(0) 人氣()