asp快速開發(fā)方法之?dāng)?shù)據(jù)操作實(shí)例代碼第1/3頁(yè)
更新時(shí)間:2007年08月08日 11:05:52 作者:
這是我自己的心得,給大家作個(gè)參考。
我的目的是讓開發(fā)變得簡(jiǎn)單,盡可能少地考慮實(shí)現(xiàn)語(yǔ)句,更多地把精力用于思考業(yè)務(wù)邏輯。希望我的文章對(duì)大家有所啟發(fā)和幫助。
如果你對(duì)ASP不熟悉,可以先看以下教程:
1、http://布魯斯狼的ASP編程入門進(jìn)階
2、www.w3schools.com的ASP教程(英文\中文),查看更多
好吧,讓我們進(jìn)入正題:
先看以下例子:
<%
db_path = "database/cnbruce.mdb"
Set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
conn.Open connstr
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from cnarticle"
rs.Open sql,conn,1,1
if rs.EOF and rs.BOF then
response.write ("暫時(shí)還沒(méi)有文章")
else
Do Until rs.EOF
response.write("文章標(biāo)題是:"& rs("cn_title"))
response.write("<br>文章作者是:"& rs("cn_author"))
response.write("<br>文章加入時(shí)間是:"& rs("cn_time"))
response.write("<br>文章內(nèi)容是:"& rs("cn_content"))
response.write("<hr>")
rs.MoveNext
Loop
end if
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>
嗯,這是一個(gè)典型的讀取數(shù)據(jù)并顯示的例子,參見(jiàn):http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=448
嗯,確實(shí)簡(jiǎn)單。從上至下,很容易明白。但是當(dāng)你對(duì)多個(gè)表進(jìn)行讀插刪改的時(shí)候,當(dāng)你的代碼里有很多HTML\js混雜的時(shí)候,你會(huì)有疑問(wèn):為什么有這么多東西要重復(fù)呢?
所以一般我們把一些簡(jiǎn)單的操作獨(dú)立出來(lái),寫成類或者函數(shù)放進(jìn)包含文件(include)。
那么以上的操作我們可以使用兩個(gè)文件來(lái)實(shí)現(xiàn):
conn.asp
<%
db_path = "database/cnbruce.mdb"
Set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
conn.Open connstr
%>
showit.asp
<!--#include file="conn.asp" -->
<%
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from cnarticle"
rs.Open sql,conn,1,1
if rs.EOF and rs.BOF then
response.write ("暫時(shí)還沒(méi)有文章")
else
Do Until rs.EOF
response.write("文章標(biāo)題是:"& rs("cn_title"))
response.write("<br>文章作者是:"& rs("cn_author"))
response.write("<br>文章加入時(shí)間是:"& rs("cn_time"))
response.write("<br>文章內(nèi)容是:"& rs("cn_content"))
response.write("<hr>")
rs.MoveNext
Loop
end if
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>
參考:http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=448
現(xiàn)在相對(duì)簡(jiǎn)單多了,如果有多個(gè)操作頁(yè)面我們只要導(dǎo)入連接文件就可以了,不過(guò)還是不夠簡(jiǎn)潔,哪里不簡(jiǎn)潔?
一直在創(chuàng)建server,一直在寫close,這樣很容易出錯(cuò),并且看起來(lái)與內(nèi)容無(wú)關(guān)的太多。
那我再改進(jìn)下:
把conn.asp文件改成:
<%
Dim Conn
Dim Rs
Sub CloseDatabase
Conn.close
Set Conn = Nothing
End Sub
Sub OpenDatabase
Dim StrServer,StrUid,StrSaPwd,StrDbName
StrServer="192.168.1.1" '數(shù)據(jù)庫(kù)服務(wù)器名
StrUid="sa" '您的登錄帳號(hào)
StrSaPwd="" '您的登錄密碼
StrDbName="cnbruce.mdb" '您的數(shù)據(jù)庫(kù)名稱
Set Conn = Server.CreateObject("ADODB.Connection")
'用于連接ACCESS
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(StrDbName)
'用于連接MSSQL
'Conn.ConnectionString = "Driver={sql server};driver={SQL server};server="&StrServer&";uid="&StrUid&";pwd="&StrSaPwd&";database="&StrDbName
set rs=server.CreateObject("ADODB.RecordSet")
conn.open
if Err Then
err.Clear
Set Conn = Nothing
GBL_CHK_TempStr = GBL_CHK_TempStr & "數(shù)據(jù)庫(kù)連接錯(cuò)誤!"
Response.Write GBL_CHK_TempStr
Response.End
End If
End Sub
%>
我的目的是讓開發(fā)變得簡(jiǎn)單,盡可能少地考慮實(shí)現(xiàn)語(yǔ)句,更多地把精力用于思考業(yè)務(wù)邏輯。希望我的文章對(duì)大家有所啟發(fā)和幫助。
如果你對(duì)ASP不熟悉,可以先看以下教程:
1、http://布魯斯狼的ASP編程入門進(jìn)階
2、www.w3schools.com的ASP教程(英文\中文),查看更多
好吧,讓我們進(jìn)入正題:
先看以下例子:
<%
db_path = "database/cnbruce.mdb"
Set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
conn.Open connstr
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from cnarticle"
rs.Open sql,conn,1,1
if rs.EOF and rs.BOF then
response.write ("暫時(shí)還沒(méi)有文章")
else
Do Until rs.EOF
response.write("文章標(biāo)題是:"& rs("cn_title"))
response.write("<br>文章作者是:"& rs("cn_author"))
response.write("<br>文章加入時(shí)間是:"& rs("cn_time"))
response.write("<br>文章內(nèi)容是:"& rs("cn_content"))
response.write("<hr>")
rs.MoveNext
Loop
end if
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>
嗯,這是一個(gè)典型的讀取數(shù)據(jù)并顯示的例子,參見(jiàn):http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=448
嗯,確實(shí)簡(jiǎn)單。從上至下,很容易明白。但是當(dāng)你對(duì)多個(gè)表進(jìn)行讀插刪改的時(shí)候,當(dāng)你的代碼里有很多HTML\js混雜的時(shí)候,你會(huì)有疑問(wèn):為什么有這么多東西要重復(fù)呢?
所以一般我們把一些簡(jiǎn)單的操作獨(dú)立出來(lái),寫成類或者函數(shù)放進(jìn)包含文件(include)。
那么以上的操作我們可以使用兩個(gè)文件來(lái)實(shí)現(xiàn):
conn.asp
<%
db_path = "database/cnbruce.mdb"
Set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db_path)
conn.Open connstr
%>
showit.asp
<!--#include file="conn.asp" -->
<%
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from cnarticle"
rs.Open sql,conn,1,1
if rs.EOF and rs.BOF then
response.write ("暫時(shí)還沒(méi)有文章")
else
Do Until rs.EOF
response.write("文章標(biāo)題是:"& rs("cn_title"))
response.write("<br>文章作者是:"& rs("cn_author"))
response.write("<br>文章加入時(shí)間是:"& rs("cn_time"))
response.write("<br>文章內(nèi)容是:"& rs("cn_content"))
response.write("<hr>")
rs.MoveNext
Loop
end if
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>
參考:http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=448
現(xiàn)在相對(duì)簡(jiǎn)單多了,如果有多個(gè)操作頁(yè)面我們只要導(dǎo)入連接文件就可以了,不過(guò)還是不夠簡(jiǎn)潔,哪里不簡(jiǎn)潔?
一直在創(chuàng)建server,一直在寫close,這樣很容易出錯(cuò),并且看起來(lái)與內(nèi)容無(wú)關(guān)的太多。
那我再改進(jìn)下:
把conn.asp文件改成:
復(fù)制代碼 代碼如下:
<%
Dim Conn
Dim Rs
Sub CloseDatabase
Conn.close
Set Conn = Nothing
End Sub
Sub OpenDatabase
Dim StrServer,StrUid,StrSaPwd,StrDbName
StrServer="192.168.1.1" '數(shù)據(jù)庫(kù)服務(wù)器名
StrUid="sa" '您的登錄帳號(hào)
StrSaPwd="" '您的登錄密碼
StrDbName="cnbruce.mdb" '您的數(shù)據(jù)庫(kù)名稱
Set Conn = Server.CreateObject("ADODB.Connection")
'用于連接ACCESS
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(StrDbName)
'用于連接MSSQL
'Conn.ConnectionString = "Driver={sql server};driver={SQL server};server="&StrServer&";uid="&StrUid&";pwd="&StrSaPwd&";database="&StrDbName
set rs=server.CreateObject("ADODB.RecordSet")
conn.open
if Err Then
err.Clear
Set Conn = Nothing
GBL_CHK_TempStr = GBL_CHK_TempStr & "數(shù)據(jù)庫(kù)連接錯(cuò)誤!"
Response.Write GBL_CHK_TempStr
Response.End
End If
End Sub
%>
相關(guān)文章
asp 存貯過(guò)程 (SQL版asp調(diào)用存儲(chǔ)過(guò)程)
asp 存貯過(guò)程 (SQL版asp調(diào)用存儲(chǔ)過(guò)程)...2007-11-11Eval 函數(shù) | Execute 語(yǔ)句 | ExecuteGlobal 語(yǔ)句使用說(shuō)明
在運(yùn)行時(shí)添加過(guò)程和類是非常有用的,但是也可能導(dǎo)致在運(yùn)行時(shí)覆蓋已有的全局 變量 和函數(shù)。因?yàn)檫@可能導(dǎo)致非常嚴(yán)重的程序問(wèn)題,因此,當(dāng)使用 ExecuteGlobal 語(yǔ)句時(shí)一定得非常謹(jǐn)慎。2007-02-02ASP編程入門進(jìn)階(二十):ADO組件之查詢數(shù)據(jù)記錄
ASP編程入門進(jìn)階(二十):ADO組件之查詢數(shù)據(jù)記錄...2007-01-01生成靜態(tài)頁(yè)大全[ASP/PHP/ASPX]
生成靜態(tài)頁(yè)大全[ASP/PHP/ASPX]...2006-07-07IIS 錯(cuò)誤 Server Application Error 詳細(xì)解決方法
IIS 錯(cuò)誤 Server Application Error 詳細(xì)解決方法...2007-02-02