1. 申請了個空間想做動態網頁在怎麼才能夠連接access資料庫呢
一、ASP的對象存取資料庫方法
在ASP中,用來存取資料庫的對象統稱ADO(Active Data Objects),主要含有三種對象:
Connection、Recordset 、Command
Connection:負責打開或連接數據
Recordset:負責存取數據表
Command:負責對資料庫執行行動查詢命令
二、連接各資料庫的驅動程序
連接各資料庫可以使用驅動程序,也可以使用數據源,不過我建議大家使用驅動程序,因為使用驅動程序非常
方便、簡單,而使用數據源比較麻煩。
ODBC鏈接
適合資料庫類型 鏈接方式
access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;
pwd=pass;"
dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;
pwd=pass;"
MSsql server "Driver={sql server};server=servername;database=dbname;uid=sa;
pwd=pass;"
MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;
Exclusive=No;"
MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;
option=16386;"
OLEDB鏈接
適合的資料庫類型 鏈接方式
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;
password=pass;"
Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;
userid=sa;password=pass;"
MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties′text;
FMT=Delimited′"
而我們在一般情況下使用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")
2. 資料庫和動態網頁怎麼建立聯系
ASP常用資料庫連接及操作的方法和技巧
1.ASP連接Access資料庫
<%
dim conn,mdbfile
mdbfile=server.mappath("資料庫名稱.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=資料庫密碼;dbq="&mdbfile
%>
2. ASP與SQL資料庫連接:
<%
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL伺服器名稱或IP地址;UID=sa;PWD=資料庫密碼;DATABASE=資料庫名稱
%>
建立記錄集對象:
Set rs=server.createobject("adodb.recordset")
rs.open SQL語句,conn,3,2
3. SQL常用命令使用方法:
(1) 數據記錄篩選:
sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 "
sql="select * from 數據表 where 欄位名 like 『%欄位值%『 order by 欄位名 "
sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 "
sql="select * from 數據表 where 欄位名 in (『值1『,『值2『,『值3『)"
sql="select * from 數據表 where 欄位名 between 值1 and 值2"
(2) 更新數據記錄:
sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"
(3) 刪除數據記錄:
sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表" (將數據表所有記錄刪除)
(4) 添加數據記錄:
sql="insert into 數據表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)"
sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)
(5) 數據記錄統計函數:
AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加
引用以上函數的方法:
sql="select sum(欄位名) as 別名 from 數據表 where 條件表達式"
set rs=conn.excute(sql)
用 rs("別名") 獲取統的計值,其它函數運用同上。
(5) 數據表的建立和刪除:
CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 數據表名稱 (永久性刪除一個數據表)
(6) 記錄集對象的方法:
rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄
rs.pagecount 根據 pagesize 的設置返回總頁數
rs.recordcount 返回記錄總數
rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete 刪除當前記錄,但記錄指針不會向下移動
rs.addnew 添加記錄到數據表末端
rs.update 更新數據表記錄
判斷所填數據是數字型
if not isNumeric(request("欄位名稱")) then
response.write "不是數字"
else
response.write "數字"
end if
經常使用到有關資料庫的操作。包括連接代碼、SQL命令等等,又不曾刻意去記憶它們(我本人是不願意去記這東東),所以常常在用到的時候又去查書本,翻來翻去。一些比較少用的資料庫還不一定能順利找到,所以現在把它們全歸納到這里,提供大家參考。
一、資料庫的連接方法:
1.Acces
s資料庫的DSN-less連接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("資料庫所在路徑")
2.Access OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("資料庫所在路徑")
3.SQL server連接方法:
set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
"database=資料庫名;"
4.SQL server OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _
"inital Catalog=資料庫名"
5.Oracle 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
6.Oracle OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
7.dBase 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
8.mySQL 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
9.Visual Foxpro 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
10.MS text 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
11.MS text OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
"Extended Properties'text;FMT=Delimited'"
<二>。常用的四種SQL命令:
1.查詢數據記錄(Select)
語法:Select 欄位串列 From table Where 欄位=內容
例子:想從book表中找出作者為"cancer"的所有記錄,SQL語句便如下:
select * from book where author=』cancer』
"*"是取出book表所有的欄位,如查詢的欄位值為數字,則其後的"內容"便無須加上單引號,
如是日期,則在Access中用(#)包括,而在SQL server中則用(』)包括,
如:
select * from book where id=1
select * from book where pub_date=#2002-1-7# (Access)
select * from book where pub_date=』2002-1-7』 (SQL Server)
提示:
日期函數to_date不是標准sql文,不是所有的資料庫適用,所以大家在使用的時候要參考資料庫具體語法
另外如果是查詢傳入的變數,則如下:
strau=request.form("author")
strsql="select * from book where author=』"&strau&"』"
如果查詢的是數字,則:
intID=request.form("id")
strsql="select * from book where id="&intID
在很多資料庫中,如:oracle,上面的語句是可以寫成:
strsql="select * from book where id='"&intID&"'"的。
但是字元型一定不能按照數字格式寫,需要注意。
2.添加記錄(Insert)
語法:Insert into table(field1,field2,....) Values (value1,value2,....)
例子:添加一作者是"cancer"的記錄入book表:
insert into book (bookno,author,bookname) values (』CF001』,』cancer』,』Cancer無組件上傳程序』)
同樣,如果用到變數就如下:
strno=request.form("bookno")
strau=request.form("author")
strname=request.form("bookname")
strsql="insert into book (bookno,author,bookname) values (』"&strno&"』,』"&strau&"』,』"&strname&"』)"
3.用Recordset對象的Addnew插入數據的方法:
語法:
rs.addnew
rs("field1").value=value1
rs("field2").value=value2
...
rs.update
4.修改數據記錄(Update)
語法:update table set field1=value1,field2=value2,...where fieldx=valuex
例子:update book set author=』babycrazy』 where bookno=』CF001』
如果用到變數就如下:
strno=request.form("bookno")
strau=request.form("author")
strsql="update book set author=』"&strau&"』 where bookno=』"&strno"』"
5.Recordset對象的Update方法:
語法:
rs("field1").value=value1
rs("field2").value=value2
...
rs.update
注意:使用語法3和語法5的時候,一定要注意欄位的類型(尤其是日期型)一致,否則出錯的幾率非常的高。
例子:
strno=request.form("bookno")
strau=request.form("author")
set adocon=server.createobject("adodb.connection")
adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _
Server.Mappath=("/cancer/cancer.mdb")
strsql="select * from book where bookno=』"&strno&"』"
set rs=server.createobject("adodb.recordset")
rs.open strsql,adconn,1,3
if not rs.eof then 』如果有此記錄的話
rs("author").value=strau
rs.update
end if
rs.close
set rs=nothing
adocon.close
set adocon=nothing
6.刪除一條記錄(Delete)
語法:Delete table where field=value
例子:刪除book表中作者是cancer的記錄
delete book where author=』cancer』
(注意:如果book表中author欄位的值為cancer的記錄有多條,將會刪除所有author為cancer的記錄)
3. 動態網頁是怎麼樣訪問資料庫的
動態網頁腳本語言一般帶有資料庫訪問的介面庫,封裝了資料庫操作系統級的資料庫介面(如ADO),在動態網頁腳本語言中定義為一個對象,然後用這個對象的一些屬性方法來取得數據,然後顯示在網頁上。如ASP就是如此。
4. 如何將做好的動態網頁何資料庫連接起來啊
Set objConn = Server.CreateObject("ADODB.Connection")
Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath("資料庫所在的伺服器路徑")
objConn.Open Provider & DBPath
5. 動態網頁怎麼連接到的資料庫,是自己的資料庫,還是空間商的資料庫
用ACESS就可以了。。就是在空間里放的一個資料庫。也可以選擇空間商處買資料庫。比如mysql sql server.當然也可以自己裝。自己裝的話就是比較麻煩。你要有固定IP的話還可以。沒有的話最好就不要考慮了
6. 動態網頁怎樣連接資料庫
這個問題問的太寬泛
jdbc, hibernate都可以啊 hibernate也是封裝了jdbc的 用起來更方便點
隨便貼個jdbc連接SQL的例子吧
JSP連接SQL Server7.0/2000資料庫
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="Java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs為你的資料庫的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一個欄位內容為:<%=rs.getString(1)%>
您的第二個欄位內容為:<%=rs.getString(2)%>
<%}%>
<%out.print("資料庫操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
7. 動態網頁連接資料庫
'第一步:創建資料庫連接對象
dim conn
set conn=Server.CreateObject("ADODB.connection")
conn.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\yangxin\yangxin.mdb;Persist Security Info=False;"
conn.open
'第二步:創建查詢記錄集
dim rs
dim sqlstr
sqlstr="insert into 表名(id,title) values(id值,TITLE值) "
set rs=conn.execute(sqlstr)
8. 動態網頁怎麼做,怎麼連接上資料庫
要是ASP連接ACCESS的話是這樣寫的 通常先建一個連接資料庫文件 可建為conn.asp 具體代碼如下: <% const db="database/test.mdb" connstr="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath(db) set conn=server.CreateObject("adodb.connection") conn.open connstr %>
滿意請採納
9. 動態網頁連資料庫access的詳細過程
常用資料庫語句
1.SELECT 語句:命令資料庫引擎從資料庫里返回信息,作為一組記錄。
2.INSERT INTO 語句:添加一個或多個記錄至一個表。
3.UPDATE 語句:創建更新查詢來改變基於特定準則的指定表中的欄位值。
4.DELETE 語句:創建一個刪除查詢把記錄從 FROM 子句列出並符合 WHERE 子句的一個或更多的表中清除。
5.EXECUTE 語句:用於激活 PROCEDURE(過程)
用 ASP 來做一個自己的通訊錄練練手吧……
一、建立資料庫:
用 Microsoft Access 建立一個名為 data.mdb 的空資料庫,使用設計器創建一個新表。輸入以下幾個欄位:
欄位名稱數據類型說明其它
ID自動編號數據標識欄位大小:長整型新值:遞增索引:有(無重復)
username文本姓名預設值
usermail文本E-mail預設值
view數字查看次數欄位大小:長整型默認值:0索引:無
indate時間日期加入時間預設值
保存為 data.mdb 文件,為了便於說明,只是做了一個比較簡單的庫。
二、連接資料庫
方法1:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
方法2:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")
注意:一個頁面中,只要連接一次就可以了,資料庫使用完後要及時關閉連接。
conn.Close
Set conn = Nothing
三、添加新記錄到資料庫
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
username = "風雲突變"
usermail = "[email protected]"
indate = Now()
sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"&indate&"')"
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立資料庫連接;通過表單獲取姓名、E-mail 字元串,Now()獲取當前時間日期;使用 insert into 語句添加新記錄;conn.Execute 來執行;最後關閉。
四、選擇資料庫里的記錄
1.選擇所有記錄的欄位(按記錄倒序排序):sql = "select * from data order by ID desc"
2.選擇所有記錄的姓名和E-mail欄位(不排序):sql = "select username,usermail from data"
3.選擇姓名為「風雲突變」的所有記錄:sql = "select * from data where username='"風雲突變"'"
4.選擇使用 163 信箱的所有記錄(按查看次數排序):sql = "select * from data where usermail like '%"@163.com"%' order by view desc"
5.選擇最新的10個記錄:sql = "select top 10 * from data order by ID desc"
SQL 語句已經知道了,不過在Web應用時,還得創建一個 RecordSet 對象得到記錄集,才能把從資料庫里取出的值應用在網頁上,如果現在將所有的記錄顯示在網頁上就這樣:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
sql = "select * from data"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,1
Do While Not rs.Eof
Response.Write "<p>姓名:"& rs("username") &"E-mail:"& rs("usermail") &"查看:"& rs("view") &"次"& rs("indate") &"加入</p>"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
說明:建立資料庫連接;創建 rs 得到記錄集;循環顯示記錄,rs.Eof 表示記錄末,rs.MoveNext 表示移到下一個記錄;最後關閉。
五、修改(更新)資料庫記錄
修改記錄的E-mail:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
ID = 1
usermail = "[email protected]"
sql = "update data set usermail='"&usermail&"' where ID="&CInt(ID)
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立資料庫連接;獲取記錄ID、新 E-mail 字元串;使用 update 語句修改記錄;conn.Execute 來執行;最後關閉。
如果使記錄的查看值加1,則:sql = "update data set view=view+1 where ID="&CInt(ID)
六、刪除資料庫記錄
刪除某一條記錄:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
ID = 1
sql = "delete from data where ID="&CInt(ID)
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立資料庫連接;獲取記錄ID;使用 delete 語句刪除記錄;conn.Execute 來執行;最後關閉。
刪除多條記錄為:sql = "delete from data where ID in (ID1,ID2,ID3)"
刪除所有記錄為:sql = "delete from data"
10. 動態網頁如果連接資料庫
我大概說一下實現的思想
你的意思其實是不明白怎麼一按提交按鈕資料庫東西就會改變了,你是想知道怎麼去實現這個,沒有研究過還覺得很復雜的,其實是很簡單。
首先你在一個網頁做好了各種表格,文本輸入,按鈕之類,例如下面一個簡單的發表窗口:
<form method="POST" action="save.asp">
<p>大名:<input type="text" name="name" size="20"></p>
<p>標題:<input type="text" name="title" size="91"></p>
<p>內容:</p>
<p><textarea rows="11" name="body" cols="97"></textarea></p>
<p> </p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
</form> 這裡面最關鍵的是<form method="POST" action="save.asp">
這個代碼的意思是點擊提交按鈕的時候,網頁就轉到保存內容的頁面save.asp,這就是你不明白的地方,當按下一個按鈕的時候,會有指定的語句說明以後會去到哪裡處理這個動作,如果沒有定義那麼就不能和資料庫聯系起來。
再來看save.asp的代碼:
<!--#include file="li.asp"-->
<%
set rs=server.createobject("adodb.recordset")
sqltext="select * from bbs"
rs.open sqltext,conn,1,1
%>
<%name=Replace(Request.Form("name"),"'","''")
title=Replace(Request.Form("title"),"'","''")
body=Replace(Request.Form("body"),"'","''")
%>
<%if name="" or title="" or body="" then%>
請<a href="****:history.go(-1)">後退</a>填寫完整資料,你才能發表帖子!
<%else%>
<%set savebbs=conn.execute("insert into bbs(name,title,body)values('"&name&"','"&title&"','"&body&"')")%>
發表成功!<a href="index.asp">查看帖子</a>
<%end if
set savebbs=nothing
%>
li.asp是一個鏈接文件,是相當conn.asp的,這段代碼是和寫資料庫有關的
<%name=Replace(Request.Form("name"),"'","''")
title=Replace(Request.Form("title"),"'","''")
body=Replace(Request.Form("body"),"'","''")
%>因為之前發辮頁面有3個按鈕內容,分別是name,title,body,現在用編程語言把他們提交上來的內容寫進資料庫。<%if name="" or title="" or body="" then%>
後的代碼是作為沒有東西輸入和成功輸入的判斷的。
整個資料庫的寫入過程就是這樣,資料庫的寫入至少需要3個文件,一個是定義鏈接的conn.asp 一個是提交內容的界面頁面,例如say.asp 最後一個是把內容提交到資料庫的save.asp,大概思想就是這樣了。這是我能想到最簡單的代碼