?? asp2.txt
字號:
1.
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
SQL="select * from auth where id="" & user_id &"""
SET uplist=dbconnection.EXECUTE(SQL)
2.
set dbconnection=Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "provider=microsoft.jet.oledb.4.0;data source="&dbpath
SQL="select * from auth where id="" & user_id &"""
SET uplist=dbconnection.EXECUTE(SQL)
3.
DBPath = Server.MapPath("customer.mdb")
set session("rs")=Server.CreateObject("ADODB.Recordset")
" rs=Server.CreateObject("ADODB.Recordset")
connstr="provider=microsoft.jet.oledb.4.0;data source="&dbpath
SQL="select * from auth where id="" & user_id &"""
session("rs").Open sql,connstr,1,3
4.
建odbc源xxx
set conn=server.createobject("Adodb.connection")
conn.open "DSN=xxx;UID=;PWD=;Database=customer
ASP連接數(shù)據(jù)庫ACCESS學習(1)-查2006年10月19日 星期四 00:54學習目的:掌握ACCESS數(shù)據(jù)庫的連接和讀取記錄
今天要學習的內容有一點枯燥,但是很重要。在這里大家不需要知道命令具體的運行情況,外面的很多書籍之所以不適合入門就是因為介紹了太多的理論知識,讓初學者一頭霧水。
下面開門見山,看兩句話:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
%>
第一句話定義了一個adodb數(shù)據(jù)庫連接組件,第二句連接了數(shù)據(jù)庫,大家只要修改后面的數(shù)據(jù)庫名字就可以了。是不是很簡單?
下面再看三句:
<%
exec="select * from guestbook"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
這三句加在前面兩句的后面,第一句:設置查詢數(shù)據(jù)庫的命令,select后面加的是字段,如果都要查詢的話就用*,from后面再加上表的名字,我們前面建立的是不是一個gustbook表阿?第二句:定義一個記錄集組件,所有搜索到的記錄都放在這里面,第三句是打開這個記錄集,exec就是前面定義的查詢命令,conn就是前面定義的數(shù)據(jù)庫連接組件,后面參數(shù)“1,1”,這是讀取,后面講到修改記錄就把參數(shù)設置為1,3,好了接下來我們讀取記錄。
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof%><tr>
<td><%=rs("name")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("message")%></td>
<td><%=rs("time")%></td>
</tr><%
rs.movenext
loop
%>
</table>
在一個表格中,我們用4列分別顯示了上次建立的表里面的四個字段,用do循環(huán),not rs.eof的意思是條件為沒有讀到記錄集的最后,rs.movenext的意思是顯示完一條轉到下面一條記錄,<%=%>就等于<%response.write%>用于在html代碼里面插入asp代碼,主要用于顯示變量。
好了今天就結束了,大家可以多實踐,可以先下載我的示例看一下,調試一下
ASP連接數(shù)據(jù)庫ACCESS學習(2)-寫2006年10月19日 星期四 00:55 學習目的:學會數(shù)據(jù)庫的基本操作1(寫入記錄)
數(shù)據(jù)庫的基本操作無非是:查詢記錄,寫入記錄,刪除記錄,修改記錄。今天我們先學習寫入記錄。
先建立一個表單:
<form name="form1" method="post" action="example5.asp">
name <input type="text" name="name"><br>
tel <input type="text" name="tel"><br>
message <input type="text" name="message" value=""><br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>
表單提交到example5.asp,下面是example5.asp的代碼:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into guestbook(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
conn.execute exec
conn.close
set conn=nothing
response.write "記錄添加成功!"
%>
在這里前面兩句我不說了,后面三句我也不說了,前面說過exec里面的是執(zhí)行的命令,添加記錄的比較繁,大家要仔細看。insert into后面加的是表的名字,后面的括號里面是需要添加的字段,不用添加的或者字段的內容就是默認值的可以省略。注意,這里的變量一定要和ACCESS里面的字段名對應,否則就會出錯。values后面加的是傳送過來的變量。exec是一個字符串,"insert into guestbook(name,tel,message)values('"是第一段,在ASP里面不能嵌雙引號,所以可以用'代替雙引號,放在雙引號里面,連接兩個變量用+或者&所以"',"又是一段,中間夾了一個name就是表單傳來的變量,這樣就可以在這個變量外面加兩個'',表示是字符串了,后面的tel是數(shù)字型變量所以不需要外面包圍'',大家慢慢分析這句話,如果用表單傳來的數(shù)據(jù)代替變量名字的話這句話為(假設name="aaa",tel=111,message="bbb"):"insert into guestbook(name,tel,message)values('aaa',111,'bbb')"。
接下來的conn.execute 就是執(zhí)行這個exec命令,最后別忘記把打開的數(shù)據(jù)庫關閉,把定義的組件設置為空,這樣可以返回資源。上次的讀取為了簡單,我沒有關閉,大家可以補充上去:
rs.close
set rs=nothing
conn.close
set conn=nothing
記住,次序不可以顛倒!
大家可以到數(shù)據(jù)庫里面去看一看,或者用example4.asp讀取看看是不是多了記錄阿?
ASP連接數(shù)據(jù)庫ACCESS學習(3)-刪2006年10月19日 星期四 00:55學習目的:學會數(shù)據(jù)庫的基本操作3(刪除記錄)
開門見山,大家直接看程序。
exec="delete * from guestbook where id="&request.form("id")
上面這句話完成了刪除記錄的操作,不過鎖定記錄用了記錄唯一的表示id,我們前面建立數(shù)據(jù)庫的時候用的是系統(tǒng)給我們的主鍵,名字是編號,由于是中文的名字不是很方便,大家可以修改為id,不修改的話就是
exec="delete * from guestbook where 編號="&request.form("id")
下面我們看完整的代碼:一個表單傳給ASP文件一個ID,然后這個ASP文件就刪除了這個ID。
<form name="form1" method="post" action="example7.asp">
delete:
<input type="text" name="id">
<input type="submit" name="Submit" value="提交">
</form>
example7.asp:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
exec="delete * from guestbook where 編號="&request.form("id")
conn.execute exec
%>
我在示例里面加了一個example72.asp,和example4.asp差不多,就是加了一個id字段,大家可以先運行這個文件看一下所有記錄的ID和想刪除記錄的ID,刪除記錄以后也可以通過這個文件復查。等到最后一天,我們會把所有的這些東西整合的。大家就不會需要這么麻煩的操作。
example72.asp:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
exec="select * from guestbook"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<html>
<head>
<title>無標題文檔</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%
do while not rs.eof
%><tr>
<td><%=rs("編號")%></td>
<td><%=rs("name")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("message")%></td>
<td><%=rs("time")%></td>
</tr>
<%
rs.movenext
loop
%>
</table>
</body>
</html>
ASP連接數(shù)據(jù)庫ACCESS學習(4)-改2006年10月19日 星期四 00:56學習目的:學會數(shù)據(jù)庫的基本操作4(修改記錄) 先來看代碼:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")//這不是以前的一個數(shù)據(jù)庫,里面就aa,bb兩個字段
exec="select * from test where id="&request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
%>
<form name="form1" method="post" action="modifysave.asp">
<table width="748" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>aa</td>
<td>bb</td>
</tr>
<tr>
<td>
<input type="text" name="aa" value="<%=rs("aa")%>">
</td>
<td>
<input type="text" name="bb" value="<%=rs("bb")%>">
<input type="submit" name="Submit" value="提交">
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
</td>
</tr>
</table>
</form>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
大家到現(xiàn)在應該分析這個代碼沒有什么問題,這個代碼的作用是接受前面一個頁面的ID然后顯示這條記錄,文本框即是輸入的地方也是顯示的地方,如果需要修改的話修改以后按提交;如果不需要修改就可以直接按提交按鈕。這里還有一個東西以前沒有說,那就是隱藏的表單元素:hidden元素,里面的value是不用用戶輸入的,會隨著表單一起提交,用于傳遞變量。下面是modifysave.asp的代碼:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")
exec="select * from test where id="&request.form("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
rs("aa")=request.form("aa")
rs("bb")=request.form("bb")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
在這里,rs.open exec,conn,1,3后面的參數(shù)是1,3,這我以前提過,修改記錄就要用1,3。實際上修改記錄很容易看懂,記錄集是rs,rs("aa")就是當前記錄aa字段的東西,讓它等于新的數(shù)據(jù)request.form("aa")當然就修改了,不過最后別忘記保存,那就是rs.update! 說到這里,記錄的搜索,讀取,修改,插入都說了,通過這最基本的東西就可以作出復雜的東西了,外面的大型數(shù)據(jù)庫:新聞系統(tǒng),留言簿就是字段多一點罷了。今天的示例中的代碼是結合以前的數(shù)據(jù)庫的,大家DOWN了以后回去調試分析一下。(rar里面的那個example72.asp還是供大家查詢記錄ID和核對修改以后的記錄用的)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -