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 的頭像
sleepingwolf

【開源節流】--> "開源" & "節流"

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