用ASP連接DBF、DBC、MDB、Excel、SQL Server型數據庫的方法:
一、ASP的對象存取數據庫方法
在ASP中,用來存取數據庫的對象統稱ADO(Active Data Objects),主要含有三種對象:Connection、Recordset 、Command
Connection:負責打開或連接數據
Recordset:負責存取數據表
Command:負責對數據庫執行行動查詢命令
二、連接各數據庫的驅動程序
連接各數據庫可以使用驅動程序,也可以使用數據源,不過我建議大家使用驅動程序,因為使用驅動程序非常方便、簡單,而使用數據源比較麻煩。
驅動程序 適用數據庫類型
Microsoft.Jet.OLEDB.4.0 Mdb
Microsoft Access Driver Access
Microsoft dBase Driver Dbase
Microsoft Excel Driver Excel
Microsoft Visual FoxPro Driver Dbc
SQLOLEDB.1 SQL srver7.0
而我們在一般情況下使用Access的數據庫比較多,在這里我建議大家連接Access數據庫使用下面的方法:
dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " &
server.mappath("../db/bbs.mdb")
其中../db/bbs.mdb是你的數據庫存放的相對路徑!如果你的數據庫和ASP文件在同一目錄下,你只要這樣寫就可以了:
dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("bbs.mdb")
有許多初學者在遇到數據庫連接時總是會出問題,然而使用上面的驅動程序只要你的數據庫路徑選對了就不會出問題了
ASP連接數據庫的5種方法
第一種 - 這種方法用在ACCESS中最多
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("aspfree.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
第二種-這種方法用在SQL SERVER中多
strconn = "Driver={SQL Server};Description=sqldemo;SERVER=127.0.0.1;" _
&"UID=LoginID;Password=;DATABASE=Database_Name"
set conn = server.createobject("adodb.connection")
conn.open strconn
第三種
strconn="Driver={Microsoft Access Driver(*.mdb)};" _
&"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=" _
&"f:\Inetpub\wwwroot\somedir;uid=LoginID;" _
&"pwd=Password;DriverId=25;FIL=MSAccess;"
set conn = server.createobject("adodb.connection")
conn.open strconn
第四種運用系統數據源
The following uses a Data Source Name: Example
set conn = server.createobject("adodb.connection")
conn.open "Example"
第五種運用ODBC數據源,前提是你必須在控制面板的ODBC中設置數據源
set rs = server.createobject("adodb.recordset")
rs.open "tblname", "DSNName", 3, 3 第一種 - 這種方法用在ACCESS中最多
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("aspfree.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
ASP如何使用MYSQL數據庫
mysql數據庫以它短小、方便、速度快、免費等優點成為很多網站目前首選
數據庫,但一般都是用php+mysql相結合來開發各種動態頁面,其實asp也可以
使用mysql數據庫開發動態頁面,小弟我也是剛剛學會,不敢獨享,所以特寫了
這篇文章供大伙參考。
我的環境是windows2000+iis5.0+mysql-3.23.32-win+php4
mysql-3.23.32-win(這個是最新版的)
myodbc-2.50.36-dll(這個是最重要的,mysql odbc的驅動程序,可以在www.mysql.com下載)
第一步:安裝mysql odbd的驅動程序,將下載的myodbd-2.50.46-dll文件復制到windows\system目錄下(windows2000是winnt/system32)
然后建立一新文件,擴展名為reg(就是注冊表文件),將以下內容復制到該文件中。
regedit4
[hkey_local_machine\software\odbc\odbcinst.ini\myodbc driver]
"usagecount"=dword:00000002
"driver"="c:\\windows\\system\\myodbc.dll"
"setup"="c:\\windows\\system\\myodbc.dll"
"sqllevel"="1"
"fileusage"="0"
"driverodbcver"="02.50"
"connectfunctions"="yyy"
"apilevel"="1"
"cptimeout"="120"
[hkey_local_machine\software\odbc\odbcinst.ini\odbc drivers]
"myodbc driver"="installed"
保存后雙擊該文件,將上面代碼注冊到windows注冊表中。
如果安裝在windows2000中,則driver和setup主鍵的值要做相應改變,這里我想就不用多說了。
如果成功,在控制面板/odbd數據源的驅動程序里將看到myodbd driver這一項!
第二步:建立asp文件鏈接數據庫。
這里有兩種方法,一種是在odbc數據源中建立一個系統dsn。后來我發現不建立也可以在asp中使用mysql,方法在下文將講道。
打開控制面板/odbd數據源,選擇系統dsn,然后添加一個新的dsn,驅動程序選擇myodbd driver,會出現一個對話框供輸入mysql
相關信息。
windows dsn name: 所要建立dsn的名稱
mysql host (name or ip):mysql服務器的名稱或者是ip地址,通常填localhost
mysql database name:需要使用數據庫的名稱,數據庫在mysql管理程序中建立。這里我們使用一個例子。數據庫名:hc188
里面有數據表:user 數據表有兩個字段分別是:username和password,隨便插入幾個數據。
user:鏈接數據庫的用戶名,我填的是root超級用戶
password:鏈接數據庫用戶密碼,如果沒有,可以不填
port(if not 3306):mysql在服務器的端口,如果不填默認為3306
sql command on connect:使用sql命令鏈接數據庫,這項可以不填
填寫完畢后選擇ok保存。
下面鏈接數據庫的asp代碼!
<%
strconnection = "dsn=hc188;driver={myodbd driver};server=localhost;uid=root;pwd=;database=hc188"
set adodataconn = server.createobject("adodb.connection")
adodataconn.open strconnection
strquery = "select * from user"
set rs = adodataconn.execute(strquery)
if not rs.bof then
%>
<table>
<tr>
<td<b>username</b></td>
<td><b>password</b></td>
</tr>
<%
do while not rs.eof
%>
<tr>
<td><%=rs("username")%></td>
<td><%=rs("password")%></td>
</tr>
<%
rs.movenext
loop
%>
</table>
<%
else
response.write("sorry, no data found.")
end if
rs.close
adodataconn.close
set adodataconn = nothing
set rsemaildata = nothing
%>
第二種方法:我在使用中想過如果不建立系統dsn,是否也可以使用mysql數據庫呢?結果是可以的。
方法很簡單,把上面asp代碼第二行代碼改為:
strconnection="defaultdir=;driver={myodbc driver};database=hc188"
我奇怪的發現,這種方法連用戶名和密碼都不需要就可以使用。是不是mysql的一個bug呢?
以上代碼全部經測試通過!
ASP 編程中 20 個非常有用的例子
1.如何用Asp判斷你的網站的虛擬物理路徑
答:使用Mappath方法
< p align="center" >< font size="4" face="Arial" >< b >
The Physical path to this virtual website is:
< /b >< /font >
< font color="#FF0000" size="6" face="Arial" >
< %= Server.MapPath("\")% >
< /font >< /p >
2.我如何知道使用者所用的瀏覽器?
答:使用the Request object方法
strBrowser=Request.ServerVariables("HTTP_USER_AGENT")
If Instr(strBrowser,"MSIE") < > 0 Then
Response.redirect("ForMSIEOnly.htm")
Else
Response.redirect("ForAll.htm")
End If
3.如何計算每天的平均反復訪問人數
答:解決方法
< % startdate=DateDiff("d",Now,"01/01/1990")
if strdate< 0 then startdate=startdate*-1
avgvpd=Int((usercnt)/startdate) % >
顯示結果
< % response.write(avgvpd) % >
that is it.this page have been viewed since November 10,1998
4.如何顯示隨機圖象
< % dim p,ppic,dpic
ppic=12
randomize
p=Int((ppic*rnd)+1)
dpic="graphix/randompics/"&p&".gif"
% >
顯示
< img src="< %=dpic% >" >
5.如何回到先前的頁面
答:< a href="< %=request.serverVariables("Http_REFERER")% >" >preivous page< /a >
或用圖片如:< img src="arrowback.gif" alt="< %=request.serverVariables("HTTP_REFERER")% >" >
6.如何確定對方的IP地址
答:< %=Request.serverVariables("REMOTE_ADDR)% >
7.如何鏈結到一副圖片上
答:< % @Languages=vbscript % >
< % response.expires=0
strimagename="graphix/errors/erroriamge.gif"
response.redirect(strimagename)
% >
8.強迫輸入密碼對話框
答:把這句話放載頁面的開頭
< % response.status="401 not Authorized"
response.end
% >
9.如何傳遞變量從一頁到另一頁
答:用 HIDDEN 類型來傳遞變量
< % form method="post" action="mynextpage.asp" >
< % for each item in request.form % >
< input namee="< %=item% >" type="HIDDEN"
value="< %=server.HTMLEncode(Request.form(item)) % >" >
< % next % >
< /form >
10.為何我在 asp 程序內使用 msgbox,程序出錯說沒有權限
答:由于 asp 是服務器運行的,如果可以在服務器顯示一個對話框,那么你只好等有人按了確定之后,你的程序才能繼續執行,而一般服務器不會有人守著,所以微軟不得不禁止這個函數,并胡亂告訴你 (:) 呵呵) 沒有權限。但是ASP和客戶端腳本結合倒可以顯示一個對話框,as follows:
< % yourVar="測試對話框"% >
< % script language='javascript' >
alert("< %=yourvar% >")
< /script >
11.有沒有辦法保護自己的源代碼,不給人看到
答:可以去下載一個微軟的Windows Script Encoder,它可以對asp的腳本和客戶端javascript/vbscript腳本進行加密。。。不過客戶端加密后,只有ie5才能執行,服務器端腳本加密后,只有服務器上安裝有script engine 5(裝一個ie5就有了)才能執行。
12.怎樣才能將 query string 從一個 asp 文件傳送到另一個?
答:前者文件加入下句:Response.Redirect("second.asp?" & Request.ServerVariables("QUERY_STRING"))
13.global.asa文件總是不起作用?
答:只有web目錄設置為web application, global.asa才有效,并且一個web application的根目錄下 global.asa才有效。IIS4可以使用Internet Service Manager設置application setting 怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼?
14.怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼?
答:Internet Sevices Manager - > 選擇default web site - >右鼠鍵- >菜單屬性-〉主目錄- > 應用程序設置(Application Setting)- > 點擊按鈕 "配置"- > app mapping - >點擊按鈕"Add" - > executable browse選擇 \WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 輸入 htm method exclusions 輸入PUT.DELETE 全部確定即可。但是值得注意的是這樣對htm也要由asp.dll處理,效率將降低。
15.如何注冊組件
答:有兩種方法。
第一種方法:手工注冊 DLL 這種方法從安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢】