ASP(Active Server Page) 與數據庫連接

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("學號") & "
" Response.Write "姓名:" & RS("姓名") & "
" Response.Write "性別:" & RS("性別") & "
" Response.Write "年齡:" & RS("年齡") & "
" 【範例】 '新增記錄 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" ‧ ‧ ‧

posted on 2012-08-06 15:24  hinslam  阅读(182)  评论(0编辑  收藏  举报

导航