| (一)數據庫的選擇: 因為: |
(3)關(guān)鍵部分:建立與數據庫的聯(lián)系并將表單中收集到的信息添加到ACCESS數據庫中。
ASP代碼放在〈%和%>之間。
adddatabase.asp程序內容:
<%
CompanyName = Request("CompanyName")
CName = Request("CName")
City = Request("City")
Tel = Request("Tel")
%>
If CompanyName = "" Or CName = "" Or City = "" Or Tel = "" Then
Response.Write "<html><body><center><font size=5>請將資料填寫(xiě)完整。</font></center></body></html>"
'Response.Redirect "error.htm"
Response.End
End If
這里是檢測各個(gè)項目是否輸入了東西,如果為空則不往下繼續執行,顯示錯誤信息。注意:你可以使用兩種方法。我都列出了。
方法一:使用Response.Write方法寫(xiě)一個(gè)出錯頁(yè)面,類(lèi)似于java scripts的document.write寫(xiě)法,只是ASP使用Response.write罷了。
方法二:使用Response.Redirect方法導向出錯頁(yè)面error.htm。我在方法一的代碼前加上單引號表示注釋。('ASP中表示注釋用單引號')。
<%
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
%>
程序解釋:
(1)建立Connection對象:dbconnection,建立一個(gè)連接(Connection)是數據庫存取的開(kāi)始。我們使用ASP的內建對象方法Server.Createobject建立與數據庫的連接。ADODB是ASP的數據庫存取組件,不必擔心只要有ASP就有它了,是內置的。
(2)使用dbconnection.open方法打開(kāi)數據庫customer.mdb。driver參數語(yǔ)法: driver={Microsoft Access Driver (*.mdb)}必須這么寫(xiě)。告訴系統使用ACCESS ODBC驅動(dòng)處理。dbq參數用來(lái)指定打開(kāi)的數據庫文件,它必須是完整的路徑。例如"c:\inetpub\wwwroot\customer\customer.mdb",我們使用Server.MapPath的方法取得數據庫的完整路徑。
<%
Set rs = Server.CreateObject("ADODB.Recordset")
%>
建立Recordset對象rs。Connection僅僅是建立了與數據庫間的連接,要存取數據還應該再建立Recordset對象。
rs.Open "客戶(hù)", dbconnection, adOpenDynamic, 3
打開(kāi)數據庫中的表"客戶(hù)"(客戶(hù)是表名)。 語(yǔ)法:
rs.open 數據表名或SQL指令,已經(jīng)建立的Connection對象(這里是dbconnection), 鎖定類(lèi)型
<%
rs.AddNew
rs("公司名稱(chēng)") = CompanyName
rs("聯(lián)絡(luò )人姓名") = CName
rs("所在城市") = City
rs("電話(huà)號碼") = Tel
rs.Update
%>
用AddNew向數據庫請求添加數據。最后用Update寫(xiě)入。注意:等號右側的變量保存著(zhù)用Request取得的表單數據。雙引號內的就是數據庫的字段,應該與數據庫的一致啊。否則會(huì )出錯的。這樣變量?jì)鹊臄祿蛯?xiě)入了數據庫對應的字段內了。
Response.Write "<html><body><center><font size=5>祝賀,您的數據已經(jīng)添加進(jìn)數據庫了!<p>"
Response.Write "<a href='viewdatabase.asp'>查看數據</a>"
Response.Write "</font></center></body></html>"
'寫(xiě)入成功后顯示祝賀信息并建立查看數據庫記錄的連接。
%>
(4)顯示/查看數據庫記錄:
<%
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
'建立與數據庫的連接,與上同。
SQL="select * from 客戶(hù) Order By 時(shí)間 DESC"
SET CustomerList=dbconnection.EXECUTE(SQL)
%>
<html>
<body>
<FONT SIZE="5"><center>數據庫記錄</center></FONT>
<CENTER>
<TABLE BORDER=1>
<tr>
<td>編號</td>
<td>公司名稱(chēng)</td>
<td>聯(lián)絡(luò )人姓名</td>
<td>所在城市</td>
<td>電話(huà)號碼</td>
</tr>
<% DO WHILE NOT CustomerList.EOF %>
'檢測記錄是否到了最后一條。EOF表示End of File。
<TR>
<TD><% =CustomerList("客戶(hù)編號") %></TD>
<TD><% =CustomerList("公司名稱(chēng)") %></TD>
<TD><% =CustomerList("聯(lián)絡(luò )人姓名") %></TD>
<TD><% =CustomerList("所在城市") %></TD>
<TD><% =CustomerList("電話(huà)號碼") %></TD>
</TR>
<% =CustomerList("客戶(hù)編號") %>可以說(shuō)是Response.Write方法的簡(jiǎn)寫(xiě)。將"客戶(hù)編號"字段內的數據寫(xiě)入TD標簽間。
<%
loop
%>
如果還沒(méi)有到最后一條則指針移動(dòng)到下一條。用Do While ... Loop循環(huán)逐一取得所有的記錄。
</TABLE>
</CENTER>
<center>
<input type="button" onclick="java script:location.href='add.htm'" value="添加數據">
</center>
</BODY>
</HTML>

