aspnet連接access資料庫
① asp怎樣連接帶有密碼的access資料庫
Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123456;Data Source=" & Server.MapPath("test.mdb")
或者
dim connnews
dim connstrnews
dim DBName
DBname="news.mdb"
connstrnews="DBQ="+server.mappath(dbName)+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set connnews=server.createobject("ADODB.CONNECTION")
connnews.open connstrnews, "uid='admin',pwd='12345'"
connnews.close
或者
dim str_conn,cn
Set cn = Server.CreateObject("ADODB.Connection")
str_conn="Provider=Microsoft.Jet.OLEDB.4.0;uid=admin;password=123456;Data Source= " & Server.mappath("../dfang/difang.mdb")
cn.Open str_conn
補充: 改這一句就可以了...
connstr="Provider=Microsoft.Jet.OLEDB.4.0;uid=admin;password=123456;Data Source=" & Server.MapPath(mdb)
② asp連接access資料庫怎麼實現的
通過ASP與ACCESS資料庫建立連接(附源碼)(1)
前言:
如何通過ASP與資料庫建立連接是一個非常現實的問題,我盡量寫得非常詳細。相信看了這篇文章相信您已經能夠寫出類似的比較簡單和實用的程序了。
(一)資料庫的選擇:
有許多的資料庫你可以選擇,SQL SERVER、ACCESS(*.mdb)、EXCEL(*.xls)、FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以達到存儲數據的功能。那麼到底選擇什麼資料庫最合適呢?其中SQL SERVER是伺服器級的,足以應付每天上萬次的訪問量。對於非伺服器級的資料庫建議使用ACCESS97。因為:(1)只要安裝了PWS或IIS4肯定有ACCESS的ODBC驅動,即你的系統肯定支持ACCESS資料庫的存取。(2)ACCESS支持的SQL指令非常齊全。(3)ACCESS ODBC驅動程序的效率非常高。雖然它不是伺服器級的資料庫,但是作為中小型企業內部網的資料庫支持還是綽綽有餘的。(4)ACCESS97在OFFICE97中就有,非常方便得到和使用。
本文就以ACCESS資料庫為准介紹基於WEB的資料庫存取方法。
(二)例子:我們建立一個「客戶」資料庫,需要保存如下的客戶資料:客戶名稱、聯絡人姓名、所在城市、電話號碼。
(1)首先建立ACCESS資料庫customer.mdb(今後有用的)。建立如下欄位:客戶名稱、聯絡人姓名、所在城市、電話號碼、客戶編號、時間。將表保存為"客戶"(今後有用的,===>看看圖)。注意:建立欄位時多作了2個(客戶編號、時間),因為在今後排序時要用到它們。建議今後做資料庫時最好都加上這2項,不會沒用的。此外,在保存表時ACCESS會詢問是否建立一個住關鍵字,我們不需要它所以不必建立。還有:時間欄位的"默認值"設成"now()",即去系統當時的時間。同時將索引項設成"有(允許重復)",含義:WEB上極有可能同時存取數據,所以允許重復,索引設成"有"可以加快排序速度。===>看看圖
(2)建立遞交表單add.htm:
源代碼如下:
<html>
<head>
<title>添加資料庫記錄</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<p align="center"><font size="5">添加資料庫記錄</font></p>
<form method="post" action="adddatabase.asp">
<div align="center">
<table width="46%" border="0">
<tr>
<td width="28%">
<div align="right">公司名稱: </div>
</td>
<td width="72%">
<input type="text" name="CompanyName">
</td>
</tr>
<tr>
<td width="28%">
<div align="right">聯絡人姓名: </div>
</td>
<td width="72%">
<input type="text" name="CName">
</td>
</tr>
<tr>
<td width="28%">
<div align="right">所在城市: </div>
</td>
<td width="72%">
<input type="text" name="City">
</td>
</tr>
<tr>
<td width="28%">
<div align="right">電話號碼:</div>
</td>
<td width="72%">
<input type="text" name="Tel">
</td>
</tr>
<tr>
<td width="28%">
<div align="right"> </div>
</td>
<td width="72%">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="reset" value="Reset">
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
這與普通的HTML沒有任何區別,關鍵部分已經用黃色標記了。遞交方法用POST,遞交後處理的程序是adddatabase.asp(下一步就重點討論它)。還有就是給每一個項目取一個名字(NAME,後面有用)。
通過ASP與ACCESS資料庫建立連接(附源碼)(2)
瀏覽選項: 大中小 顏色 默認 灰度 橄欖色 綠色 藍色 褐色 紅色
(三)關鍵部分:建立與資料庫的聯系並將表單中收集到的信息添加到ACCESS資料庫中。
ASP代碼放在〈%和%>之間。
<%
CompanyName = Request("CompanyName")
CName = Request("CName")
City = Request("City")
Tel = Request("Tel")
以上,首先取得表單中填寫的數據,使用ASP的Request對象非常容易可以實現數據的收集。雙引號中的就是上一步建立的各個項目的名字(NAME)。所以今後為每個項目起名字是個好習慣,盡管有時候並不一定用得到。這樣取得的數據就保存在等號坐側的變數中了。
If CompanyName = "" Or CName = "" Or City = "" Or Tel = "" Then
'Response.Write "<html><body><center><font size=5>請將資料填寫完整。</font></center></body></html>"
Response.Redirect "error.htm"
Response.End
End If
這里是檢測各個項目是否輸入了東西,如果為空則不往下繼續執行,顯示錯誤信息。注意:你可以使用兩種方法。我都列出了。方法一:使用Response.Write方法寫一個出錯頁面,類似於javascripts的document.write寫法,只是ASP使用Response.write罷了。方法二:使用Response.Redirect方法導向出錯頁面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,建立一個連接(Connection)是資料庫存取的開始。我們使用ASP的內建對象方法Server.Createobject建立與資料庫的連接。ADODB是ASP的資料庫存取組件,不必擔心只要有ASP就有它了,是內置的。
(2)使用dbconnection.open方法打開資料庫customer.mdb。driver參數語法: driver={Microsoft Access Driver (*.mdb)}必須這么寫。告訴系統使用ACCESS ODBC驅動處理。dbq參數用來指定打開的資料庫文件,它必須是完整的路徑。例如"c:.mdb",我們使用Server.MapPath的方法取得資料庫的完整路徑。
Set rs = Server.CreateObject("ADODB.Recordset")
建立Recordset對象rs。Connection僅僅是建立了與資料庫間的連接,要存取數據還應該再建立Recordset對象。
rs.Open "客戶", dbconnection, adOpenDynamic, 3
打開資料庫中的表"客戶"(客戶是表名)。 語法:
rs.open 數據表名或SQL指令,已經建立的Connection對象(這里是dbconnection), 鎖定類型
rs.AddNew
rs("公司名稱") = CompanyName
rs("聯絡人姓名") = CName
rs("所在城市") = City
rs("電話號碼") = Tel
rs.Update
用AddNew向資料庫請求添加數據。最後用Update寫入。注意:等號右側的變數保存著用Request取得的表單數據。雙引號內的就是資料庫的欄位,應該與資料庫的一致啊。否則會出錯的。這樣變數內的數據就寫入了資料庫對應的欄位內了。
Response.Write "<html><body><center><font size=5>祝賀,您的數據已經添加進資料庫了!<p>"
Response.Write "<a href='viewdatabase.asp'>查看數據</a>"
Response.Write "</font></center></body></html>"
寫入成功後顯示祝賀信息並建立查看資料庫記錄的連接。
%>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
通過ASP與ACCESS資料庫建立連接(附源碼)(3)
瀏覽選項: 大中小 顏色 默認 灰度 橄欖色 綠色 藍色 褐色 紅色
(三)顯示/查看資料庫記錄:
<%
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
建立與資料庫的連接,與上同。
SQL="select * from 客戶 Order By 時間 DESC"
SET CustomerList=dbconnection.EXECUTE(SQL)
%>
建立SQL查詢語句,表示從"客戶"表中查詢所有記錄,Order By 時間 DESC表示"按時間降序排序,"這樣最後添加的信息再最上面顯示。下面一句執行SQL查詢並將結果返回給Recordset對象CustomerList。
<html>
<body>
<FONT SIZE="5"><center>資料庫記錄</center></FONT>
<CENTER>
<TABLE BORDER=1>
<tr>
<td>編號</td>
<td>公司名稱</td>
<td>聯絡人姓名</td>
<td>所在城市</td>
<td>電話號碼</td>
</tr>
<% DO WHILE NOT CustomerList.EOF %>
檢測記錄是否到了最後一條。EOF表示End of File。
<TR>
<TD><% =CustomerList("客戶編號") %></TD>
<TD><% =CustomerList("公司名稱") %></TD>
<TD><% =CustomerList("聯絡人姓名") %></TD>
<TD><% =CustomerList("所在城市") %></TD>
<TD><% =CustomerList("電話號碼") %></TD>
</TR>
<% =CustomerList("客戶編號") %>可以說是Response.Write方法的簡寫。將"客戶編號"欄位內的數據寫入TD標簽間。
<% CustomerList.movenext
loop
%>
如果還沒有到最後一條則指針移動到下一條。用Do While ... Loop循環逐一取得所有的記錄。
</TABLE>
</CENTER>
<center>
<input type="button" onclick="javascript:location.href='add.htm'" value="添加數據">
</center>
</BODY>
</HTML>
缺陷:僅僅實現了最基本的功能。先不說其它功能,僅就數據的添加和查看功能來看,比較完美的還應該加入「分頁功能」。否則數據大到一定程度顯示全部數據基本上是不可能的。
本期至此全部完畢。
③ 如何通過網路(Internet)訪問ACCESS資料庫
可以是可以,但是你這樣訪問會出問題,ACCESS是以獨占形式存在的,當那邊在使用,你這邊就只能只讀了,如果你不會編程哪我教你個簡單辦法:
在區域網范圍隨便那台電腦安裝個SQL Server
用ACCESS在區域網范圍新建一個連接表,讓連接表去鏈接SQL Server的表,這教網路連接表
然後在區域網范圍你的ACCESS就可以作為客戶端任意使用,SQL Server變成了數據伺服器,前提條件SQL Server電腦是開啟的,並且開啟用戶訪問許可權
④ ASP與Access資料庫連接出錯 如何解決
你換一個連接方式
OnErrorResumeNext'容錯
DimConn,ConnStr,DBPath
DBPath="../rdcenter.mdb"
ConnStr="DBQ="+ServerMapPath(""&DBPath&"")+";DefaultDir=;Driver{MicrosoftAccessDriver(*.MDB)};"
SetConn=Server.Createobject("Adodb.Connection")
IfErrThen
Err.Clear
Else
Conn.OpenConnStr
EndIf
這樣,再去試試
⑤ asp中怎麼調用access資料庫
1、ASP連接ACCESS資料庫,連接字元串是關鍵
2、連接後執行SQL語句
3、關閉資料庫連接對象
示例代碼:
dim Conn,strConn,strSQL
strConn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("\db\myaccess.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
strSQL="insert into 表(列1,列2,列3) values ('value1','value2','value3')"
Conn.execute strSQL
Conn.close
Set Conn = Nothing
其中
【Provider=Microsoft.Jet.OLEDB.4.0;】:是聲明使用的是MSSQL協議,
【Data Source=" & server.MapPath("\db\myaccess.mdb")】:是資料庫的所在網站根目錄相對路徑的文件名