㈠ 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>
缺陷:僅僅實現了最基本的功能。先不說其它功能,僅就數據的添加和查看功能來看,比較完美的還應該加入「分頁功能」。否則數據大到一定程度顯示全部數據基本上是不可能的。
本期至此全部完畢。
㈡ ASp連接資料庫
用的最多的就是ACCESS和SQL Server資料庫,連接語句如下:
1. ASP連接悶敏升Access資料庫語句
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("www/bbs.mdb")+"拿念;DefaultDir=;DRIVER={Microsoft
AccessDriver(*.mdb)};"
Conn.Open connstr
其中Set Conn=Server.CreateObject("ADODB.Connection")為建立一個訪問數據的對象
server.mappath("www/bbs.mdb")是告訴伺服器access 資料庫訪問的路徑
2. ASP連接Sqlserver資料庫語句
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open"driver={SQLServer};server=202.108.32.94;uid=wu77445;pwd=p780522;database=w
ww_panwei_com"
conn open
其中/Set conn = Server.CreateObject("螞老ADODB.Connection")為設置一個資料庫的連接對象
driver=()告訴連接的設備名是SQL-SERVER
server是連接的伺服器的ip地址,Uid是指用戶的用戶名,pwd是指的用戶的password,
database是用戶資料庫在伺服器端的資料庫的名稱
㈢ asp如何連接帶密碼的的access資料庫
假設你慶桐乎譽悉的 mdb 數輪做據庫的密碼為:12345
將你的constr定義如下:
constr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("#khKEY.asp")
& " ; User ID=admin; Password=; Jet OLEDB:Database Password=12345"
就可以連接你的 mdb 資料庫了
㈣ 用ASP寫的連接ACCESS資料庫網站的源代碼
給粗凱你提供一個我自己寫的吧,三行,從做ASP那天起我就用這三行隱耐打遍天下了。希望對你有所參考,網上那些編的連接都是由網路公司出的,有他們的優點,但不夠簡潔,以下是代碼和注釋。
<%
Set conn=Server.CreateObject("ADODB.Connection") //創建資料庫連接對象 conn
conn.provider="Microsoft.Jet.OLEDB.4.0" //指定資料庫驅動類型
conn.Open Server.MapPath("cooshlion.mdb") //打開資料庫,請注意與你的資料庫位置對應,如果不在當前目錄下,請用../相對路徑方式
%>
試試吧,將這行代碼保存成一個ASP文件,然後建立一個空資料庫cooshlion.mdb,再執行一下這個文件,不報錯,那就可以了,成功連上,至於關不關閉對象,說老實話,VBScript檢測不是灶凳春那麼嚴格的。
㈤ 如何用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")】:是資料庫的所在網站根目錄相對路徑的文件名
㈥ 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和 sql數據
用兩個不同名的記錄集分別打開不同的資料庫連接,這樣就可以相互操作或一起操作了
代碼框架如下:
連接ACCESS
<% dim ztotal
set cn=server.CreateObject("adodb.connection")
cn.connectstring="provider=microsoft.jet.oledb.4.0;data source=" &_server.mappath(dh.mdb)"
cn.open
sql="select * from ddb where isprocessed='0' and username='" & session("username") &"'order by comit"
set rs=cn.execute(sql)
%>
連接MSSQL時,把這代碼復制一遍更改一下變數和連接字元串即可.下面是代碼示例.
<%
dim cn
set cn=server.createobject("adodb.connection")
cn.connectionstring="driver={SQL server};server=taihang;datebase=taihang;uid=sa;pwd=hacker"
cn.open
If cn.state=1 Then
response.write"資料庫連接對象已打開"
Else
response.write"資料庫連接對象未打開"
end If
cn.close
Set cn=nothing
%>
這親再建一個記錄集,把這個連接起來,就可以同時操作ACCESS跟MSSQL數據了.連接字元串若有問題請參考下面的方法.
ASP 連接ACCESS 與SQL SERVER方法
一、連接ACCESS資料庫
1、在ASP語句中直接指定資料庫驅動(oledb直接連接)
1) 用SET建立連接對象
set cnobj = Server.CreateObject("ADODB.Connection")
2)給出資料庫驅動的生產廠商和版本號以及你的ACCESS資料庫所在的位置
strcon="provider=microsoft.jet.oledb.4.0;data source="&Server.MapPath("/data/data.mdb")
記住:strcon是字元串變數你可以隨便給,server.mappath是取資料庫的磁碟路徑,後面所跟的一定是站點路經。
本句也可友友談以寫成:
strconn = "告衡DRIVER=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath("/data/data.mdb")
3)用鏈接對象的OPEN方法打開資料庫
cnobj.Open strcon
到此連接完成,後面就是建立記錄集對象了,如:
set rstobj=server.createobject("adodb.recordset") '此句用SET語句建立記錄集對象RSTOBJ
set rstobj=cnobj.execute("select * from users") '此句利用好碰cnobj對象的execute方法執行SELECT查詢語句,users是庫中的表名稱
2、利用ODBC數據源(odbc數據源連接)
1) 首先你要在你的操作系統里建立ODBC數據源,ODBC數據源可分為「系統型」和「文件型」,他們的區別在於「系統型」是連接資料庫的信息建立在「系統注冊表」里,「文件型」則是以文件形式存儲在ODBC源的目錄下面,經我個人測試,兩者均可在ASP中連通ACCESS資料庫,具體建立ODBC數據源的方法,請大家參考有關書籍,這里不再累述
2) 如果你用的是「文件型」數據源,那麼請用以下代碼連接資料庫
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "filedsn=data.dsn"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
其中filedsn是指定"文件型"數據源的命令,本例指定的是data.dsn數據源名,如果你連接的是SQL SERVER,那麼還需要更改data.dsn這個文件
3) 如果你用的是「系統型」數據源,那麼請用以下代碼
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "data"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
其中data是系統型數據源的名稱
二、連接SQL SERVER資料庫
1) oledb直接連接
set cnobj = Server.CreateObject("ADODB.Connection")
strcon="PROVIDER=SQLOLEDB;DATA SOURCE=(主機名稱或ip,如果是本地,可以不要);DATABASE=(資料庫名,注不是保存的文件名,而是企業管理器中的資料庫名稱);UID=(登陸名);PWD=(登陸密碼)"
如果使用windows 身份驗證登陸,忽略登陸名和登陸密碼,並添加「Integrated Security=SSPI」。
strcon="Provider=Sqloledb;Initial Catalog=(資料庫名,注不是保存的文件名,而是企業管理器中的資料庫名稱);Data Source=(主機名稱或ip,如果是本地,可以不要);Integrated Security=SSPI;"
'備註:如果使用MSSQL 2005 主機名稱格式:(local)\SQLEXPRESS
cnobj.Open strcon
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
2)「文件型」ODBC數據源連接1
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "filedsn=data.dsn;database=db1;uid=;pwd=;"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
3)「文件型」ODBC數據源連接2 (安全性最高)
和第二種方法連接幾乎一樣,只是將密碼寫在確確實實存在的ODBC文本文件中,一般存放在(盤符:\program files\common files\odbc\data sources)目錄下,本例為data.dsn文件,用記事本打開它,在"UID=用戶名"這一行下加上一行PWD="UID給出的用戶密碼",這是安全性最高的一種連接了,因為除了在WEB伺服器上登錄,沒人可以讀取到這個文件,也就不會知道SQL的用戶名和密碼,最後將SQL連接中的第三種方法第2行改為:cnobj.open "filedsn=data.dsn"
4)系統型連接
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "dsn=localserver;uid=sa;pwd=sa;"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
註:其實和「文件型」幾乎一樣,只有一句dsn=localserver不一樣,在「文件型」中是filedsn=data.dsn,因為「系統型」ODBC是在系統注冊表中進行連接,而「文件型」是確確實實存在的文本文件,本例中localserver是建立的系統ODBC數據源名稱,data.dsn是文件型數據源的文本文件名.
EX:
set conn = server.CreateObject ("adodb.connection")
'connstr="Provider=SQLOLEDB.1;data source=localhost\HEISHUAI;Initial Catalog=LoginDB;user id=sa;password=1008"
'connstr="Provider=SQLOLEDB;data source=localhost\HEISHUAI;database=LoginDB;user id=sa;password=1008"
'connstr="Provider=SQLNCLI;data source=localhost\HEISHUAI;database=LoginDB;user id=sa;password=1008"
connstr="driver={SQL Server};database=LoginDB;Server=localhost\HEISHUAI;uid=sa;pwd=1008"
conn.open connstr
㈧ 請教ASP如何連接Access2010的accdb資料庫,萬分
provider=Microsoft.Ace.Oledb.12.0;Data Source=Access文件路徑
㈨ asp連接access資料庫代碼
<%
Set conn=Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("a.mdb")
conn.Open connstr
%>
____________________________________
a.mdb就是你抄的資料庫文件,襲如果資料庫文件放在文件夾里還要在加上路徑。