【ASP】ASP對Access資料庫的串連、增刪改查及ASP的基本文法

來源:互聯網
上載者:User

標籤:資料庫   access   asp   j-sql   iis   

本文討論的是ASP,而不是Visual Studio寫出來的.ASPX也就是ASP.NET。

ASP不需要任何外掛程式的支援,關鍵你是配置好WINDOWS的IIS伺服器,把頁面扔在上面執行就可以了。

不同WINDOWS系統的IIS伺服器配置,除了某些被閹割的WINXP裝機版系統之外,都支援IIS伺服器配置,都在WINDOWS的組件中,不需要下載任何東西。如何配置IIS伺服器不是本文討論的重點。


一、基本目標

假設Access2007資料庫database.mdb中存在表test如下:

id為自增列,username,password皆為文本

現在要求把這張表在ASP頁面中查詢出來。並且再下面繼續增加一項username=3,password=a的內容。

運行asp網頁的時候記得把access關掉,不可以邊開啟access邊運行asp網頁。



二、製作過程

asp代碼必須寫在<%%>之中,

asp聲明變數可以用dim a;聲明,a不分類型,系統自動識別。dim可以不寫,也就是完全可以寫出a=什麼,

改變a的值必須用set a=..不能直接a=...,此乃對a的初始化。

資料庫聲明部分conn與rs的值必須用set conn的形式賦予,因為系統已經自動對其初始化。

<head>部分不需要引用任何檔案。

整個網頁的代碼如下,下面一段一段進行說明:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>資料庫的串連、增刪改查</title></head><body><%db="Database.mdb"Set conn = Server.CreateObject("ADODB.Connection")conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db) response.write "資料庫連接成功!"Set rs = Server.CreateObject( "ADODB.Recordset" )sql = "select * from test;"rs.open sql,conn,1,3%><br/>表test的內容:<table border="1">  <tr>    <td>id</td>    <td>username</td>    <td>password</td>  </tr>  <%if (rs.bof and rs.eof) thenresponse.write "nodata!"elsedo while not rs.eof%>  <tr>    <td><%=rs("id")%></td>    <td><%=rs("username")%></td>    <td><%=rs("password")%></td>  </tr>  <%rs.movenextloopend if%></table><%'conn.execute "update test set username='2' where username='a';"conn.execute "insert into test(username,password) values ('3','a');"%>---------插入資料之後--------<br/>表test的內容:<br/><%Set rs = Server.CreateObject( "ADODB.Recordset" )sql = "select * from test;"rs.open sql,conn,1,3%><table border="1">  <tr>    <td>id</td>    <td>username</td>    <td>password</td>  </tr>  <%if (rs.bof and rs.eof) thenresponse.write "nodata!"elsedo while not rs.eof%>  <tr>    <td><%=rs("id")%></td>    <td><%=rs("username")%></td>    <td><%=rs("password")%></td>  </tr>  <%rs.movenextloopend if%></table><%rs.closeset rs=nothingconn.closeset conn=nothing%></body></html>

這段代碼是用記事本敲出來的,沒有用任何開發工具,所有缺乏縮排等基本代碼格式見諒,ASP實在缺乏代碼開發工具。

ASPEDIT都是一些1997年就出版的東西了。

1、<head>部分

<head><!--必須聲明使用utf-8編碼,否則在IE8中頁面顯示會亂碼--><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>資料庫的串連、增刪改查</title></head>

以下就是<body>部分了

2、串連資料庫部分

<%'asp同使用'去注釋,不允許使用;來結束語句,每一個enter鍵就是代表一條語句結束'Access資料庫檔案是database.mdbdb="Database.mdb"Set conn = Server.CreateObject("ADODB.Connection")'指定動作,pwd後的值代表此資料庫的密碼conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db)'在網頁上輸出東西,可以用response對象 response.write "資料庫連接成功!"%>
3、查詢部分

<%'指定動作Set rs = Server.CreateObject( "ADODB.Recordset" )'查詢語句sql = "select * from test;"'使用sql對conn進行查詢,後面的參數代表我要完全操作這個資料庫rs.open sql,conn,1,3%><!--此乃表頭,asp代碼可以與html代碼混合,table預設是沒有邊框的,所以要設定一個border參數--><br/>表test的內容:<table border="1">  <tr>    <td>id</td>    <td>username</td>    <td>password</td>  </tr><%'如果沒有查到任何東西這樣寫,ASP沒有括弧,條件體必須用end if結束,then相當於左括弧,end if相當於右括弧if (rs.bof and rs.eof) thenresponse.write "nodata!"else'否則就迴圈,直到讀完這條遊標,迴圈條件是not rs.eof,ASP沒有括弧,do while迴圈體必須用loop結束,do while後內建左括弧,loop相當於右括弧'下面的html迴圈一次就向網頁寫入一次do while not rs.eof%>  <tr>    <td><%=rs("id")%></td>    <td><%=rs("username")%></td>    <td><%=rs("password")%></td>  </tr>  <%  '讀完一項,遊標向下拉rs.movenextloopend if%></table>
4、增加、刪除、修改操作部分

這裡沒有寫出刪除操作,修改操作則被注釋掉了,但他們的用法與增加操作完全一樣,

<%'與查詢操作不同的是,插入操作很簡短。'修改操作可以用下面的語句,把test表的username欄位(列)中為a的項都改為2'conn.execute "update test set username='2' where username='a';"conn.execute "insert into test(username,password) values ('3','a');"%>
插入之後重新查詢的道理與上面的未插入之前是一樣道理的,就不再進行說明了。

【ASP】ASP對Access資料庫的串連、增刪改查及ASP的基本文法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.