亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在ASP中使用數據庫

2019-11-18 19:38:56
字體:
來源:轉載
供稿:網友

    asp有一個最重要的功能,就是它可以讓你非常輕松地連接數據庫。通常都是和一個access或者一個SQL數據庫相連。因為Access是最容易起步的,同時,在你的機器上也許已經都裝有Access了,所以,在下面的例子中,我們都將使用Access來做例子。一旦你學習了ASP和Access數據庫連接的核心技術方法,當你開始使用SQL server的時候,你就會發現,兩者所需要的關鍵技術是基本相同的。

轉自:動態網制作指南 www.49028c.com

當你要連接數據庫的時候,你需要在服務器上將這個數據庫打開。你可以通過使用數據源名(DSN)或者通過在你的腳本語言中直接使用一個DSN-less連接的方法來連接和打開數據庫。

創建一個數據源名(DSN)
你可以通過在控制面板中給你的數據庫建立一個系統DSN來使你的數據庫可以在ASP中連接使用。你可以在你的本地計算機上建立若干個DSN,每個DSN對應你使用的不同的數據庫。在建立完DSN之后,你就可以在你的本地服務器上測試你的頁面了。如果你的網站是由

ISP提供服務的,并且這個ISP支持ASP,那么很有可能它就會提供一個GUI接口,來給你的數據庫創建一個DSN。

在Windows 95/98/NT中,打開控制面板(開始菜單->設置->控制面板),雙擊ODBC進入。
選擇系統DSN,點擊Add。
選擇“Microsoft Access Driver”,點擊結束。
填寫數據源名。這是你給你的數據庫起的名字,所以和一個alias是同樣的操作。
在數據庫選擇中點擊選擇按鈕,瀏覽系統中你創建的Access數據庫所存放的位置。
點擊OK
現在,新的DSN現在就會在系統DSN中顯示,并且可以在你的本地服務器上使用了。

連接數據庫
讓我們建立一個DSN-less連接,并且看看是如何連接數據庫的。當你創建一個DSN的時候,你就已經存儲了關于這個數據庫的一些信息,所以你不需要在每次需要使用一些信息的時候重復它們,這些信息如:數據庫類型、名稱、存放地點和可選性、用戶和密碼。

要創建一個DSN-less連接,你就需要提供同樣的信息。下面這個例子就顯示了如何給一個叫PRoducts的數據庫建立一個DSN-less連接:

<%
StrConnect = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:/db/products.mdb"
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.OpenStrConnect
%>

第二行定義了數據庫的驅動和物理路徑。為了要使用一個DSN-less連接,你就需要知道實際的文件存放地點(絕對路徑)。Server.MapPath給任何一個使用主機服務的人提供了一個簡單的工作環境來查找出那些難于查到的實際訪問路徑。

如果我們已經建立了一個系統DSN,并命名為products,則連接碼應該為:

<%
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open "products"
%>

現在,數據庫就已經打開了,那么你可以做些什么呢?第一件事情當然就是閱讀數據庫中的一系列記錄,并將它們放到你的頁面中去。但是,在這之前,你需要一個recordset。

Recordset
一個recordset是存儲在特殊數據庫表上的所有信息。所以,當你打開這個recordset的時候,表中所有的行和列的內容都是可訪問的。你需要打開這個recordeset,正如你需要打開數據庫連接一樣。它們的命令是相似的:

Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "downloadable", strConnect, 0,1,2

這個語句就創建了一個名為downloadable表的recordset(objRec),這個表在products數據庫的strConnect中定義。使用Recordset open, 我們就可以循環瀏覽這個表,并且可以將它的所有內容都顯示到屏幕上?;蛘?,我們可以測試特定字段的內容,也可以只將我們關注的內容寫到屏幕上去。

每一列代表一個字段。所以,如果數據庫表如下所示:

Product ID

 SKU

 Name

 File

 1

 PR12345

 Product A

 install_a.exe

 2

 PR12346

 Product B

 Install_b.exe


那么,我們就有如下字段的內容:ProductID, SKU, Name, 和File。你的表很可能會有許多額外的字段內容,可能包含很多東西,如價格或者是產品(商品)描述。但是這個示意圖可以給你提供最基本的數據庫表的概念。

填寫recordset內容
使用recordset是非常容易的一件事情。如果你想要循環瀏覽數據庫,并將所有的信息都打印到屏幕上顯示,你可以按照下面來操作:

 While NOT objRec.EOF
' says to do this as long as we haven't reached the end of the file
  Response.WriteobjRec("ProductID") & ", "
  Response.WriteobjRec("SKU") & ", "
  Response.WriteobjRec("Name") & ", "
  Response.WriteobjRec("File") & "<BR>"
    objRec.MoveNext
      Wend ;
即使你沒有如此使用過loop,你仍然可以通過閱讀這個代碼來將信息寫到comma-delimited字符串里,并且當數據庫表中創建了一個新行的時候,就重新創建一個新的行,來記錄表中的那一行。你可以使用同樣的方法將數據寫到HTML表格中去。通過使用Response.Write添加你的TABLE標簽,需要記住以下幾點:

你的HTML 標簽和引號中的內容。
如果你的標簽或者內容使用了引號,注意使用雙引號:
<FONT SIZE=""+2"">.
使用&來連接變量和HTML/內容信息
選擇recordset中的字段
假設我們的products數據庫同樣包含一個叫OS的字段,假設這個字段是一個平臺分界符。同樣,讓我們假設存儲在這個字段的數據只能是如下的數據:Windows NT, Windows 95, Windows 98, Windows, Mac, Unix, 或者 linux。

下面,我們就可以確認我們需要將哪個字段打印到屏幕上,而要忽略哪些那些字段?;蛘?,我們可以選擇哪些字段用一種格式,而另外的字段用其它的格式,如,使用不同的顏色。

使用一個簡單的If...,循環就可以給我們提供更多的數據庫控制權利。首先讓我們來打印有關Windows NT產品的記錄:

 
<TABLE BORDER=0 WIDTH=600>

<TR><TD COLSPAN=4 ALIGN=CENTER><FONT SIZE="+1"<<B>Windows NT Products</B></FONT></TD></TR>

<%
  While NOT objRec.EOF

  If objRec("OS") = "Windows NT" THEN ' specifies the criteria

Response.Write "<TR><TD BGCOLOR=""#FFFF66"">" & objRec("ProductID") & "</TD>"
Response.Write "<TD>" & objRec("SKU") & "</TD>"
Response.Write "<TD>" & objRec("Name") & "</TD>"
Response.Write "<TD>" & objRec("File") & "</TD></TR>"

  end if
  objRec.MoveNext
  Wend

%>
</TABLE>
添加一個記錄
一旦你開始使用recordset和ASP了,你就會十分希望能夠通過網絡將數據添加到數據庫中去。添加內容是非常重要的,如,當你需要你的網頁瀏覽者留下它們的觀點和看法,或者,當你想要進行管理更新的時候。

 
下面的代碼打開了一個recordset,這個recordset是有關一個有著書本和它們作者名字的數據庫表格。你可能曾經看到過這個,但是這次,最后三個說明書定義的指針類型是不同的:adOpenStatic, adLockOptimistic, adCmdTable:

<%   ' database connection already made; code not shown here
Set objRec = Server.CreateObject ("ADODB.Recordset")
  objRec.Open "books", bookdb, adOpenStatic, adLockOptimistic, adCmdTable
%>

(如果你沒有使用adovbs.inc的復制文件,第三行應該為:objRec.Open "books", bookdb, 3,3,2).

recordset現在就準備好接收數據了,你只需要告訴它添加什么。在這個情況下,假設我們從表格中取出變量:strBookTitle和strBookAuthor。我們的table, books有兩個字段,稱作Title 和 Author,所以我們可以通過使用下面的語句來添加一個新的記錄:

<%
objRec.AddNew
  ObjRec("Title") = strBookTitle
  objRec("Author") = strBookAuthor
  objRec.Update
%>

strBookTitle和strBookAuthor代表值,通常被用戶訪問。如果你只是想測試add功能,你可以給title和author添加一個變量――只是需要記住使用引號。在你第一次使用它的時候,你可能會立即打開你的數據庫,以確保更新的發生。

Recordset類型
在顯示的objRec.Open例子中,你會發現在末尾有0,1,2的字樣。這些數字代表不同的指針類型。你是用的類型依賴于你將使用它來干什么。例如,如果你不需要修改或增加任何的記錄,你可以使用一個Lock類型。而當你計劃要修改或者更新數據庫的時候,你所選擇的類型就會不同。

0,1,2 實際上代表:

adOpenForwardOnly, adLockReadOnly, adCmdTable

當然,如果在你的服務器上已經有了adovbs.inc的備份,那么,你也可以不使用數字,直接使用這些單詞。adovbs.inc 包括了這三個常量和其它常量的一個列表。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情手机在线视频| 韩国精品美女www爽爽爽视频| 萌白酱国产一区二区| 国产z一区二区三区| 欧美激情视频网| 亚洲天堂免费观看| 国产mv免费观看入口亚洲| 精品久久久久久亚洲国产300| 精品色蜜蜜精品视频在线观看| 中文字幕成人精品久久不卡| 亚洲综合最新在线| 欧美黄网免费在线观看| 日韩免费电影在线观看| 亚洲精品丝袜日韩| 疯狂欧美牲乱大交777| 色妞一区二区三区| 性欧美在线看片a免费观看| 欧洲日本亚洲国产区| 欧美视频免费在线观看| 精品国产欧美一区二区三区成人| 日韩中文字幕免费| 91在线视频成人| 欧美日韩亚洲视频一区| 久久噜噜噜精品国产亚洲综合| 久久精品色欧美aⅴ一区二区| 国产综合久久久久久| 精品日韩中文字幕| 日韩精品极品视频| 88国产精品欧美一区二区三区| 欧美性资源免费| 成人免费网视频| 国产精品成人播放| 91久久精品视频| 日韩美女中文字幕| 97在线免费视频| 97人洗澡人人免费公开视频碰碰碰| 久久久久www| 98精品国产高清在线xxxx天堂| 亚洲成色777777女色窝| 精品人伦一区二区三区蜜桃免费| 91精品久久久久久久久不口人| 亚洲欧美福利视频| 亚洲欧美中文字幕| 成人写真视频福利网| 精品久久香蕉国产线看观看亚洲| 欧美肥老太性生活视频| 欧美精品电影免费在线观看| 亚洲人成在线观看网站高清| 亚洲xxx大片| 久久久久久国产三级电影| 亚洲自拍欧美色图| 欧美激情免费观看| 国产精品一二三视频| 综合av色偷偷网| 成人精品一区二区三区| 久久久免费av| 久99九色视频在线观看| 欧美与黑人午夜性猛交久久久| 性欧美长视频免费观看不卡| 性金发美女69hd大尺寸| 亚洲一区av在线播放| 日韩av大片免费看| 一区二区三区无码高清视频| 亚洲二区中文字幕| 一区二区三区国产视频| 亚洲图片制服诱惑| 欧美区二区三区| 97av视频在线| 97色伦亚洲国产| 欧美精品免费在线观看| 欧美性猛交xxxx久久久| 91久久夜色精品国产网站| 97高清免费视频| 欧美激情小视频| 91精品美女在线| 国产精品444| 欧美大片在线免费观看| 影音先锋欧美精品| 亚洲国产精品成人一区二区| 日韩经典一区二区三区| 国产97在线|亚洲| 在线a欧美视频| 国产精品成人播放| 久久久在线观看| 欧洲亚洲妇女av| 亚洲电影成人av99爱色| 精品亚洲男同gayvideo网站| 亚洲第一免费播放区| 国产精品久久久久影院日本| 国产精品久久久久免费a∨大胸| 色妞在线综合亚洲欧美| 亚洲黄色www| 久久91亚洲精品中文字幕| 亚洲图片欧美午夜| 欧美精品videos另类日本| 欧美成人精品在线观看| 亚洲人成77777在线观看网| 日韩在线激情视频| 国外成人在线视频| 久久影视电视剧免费网站| 狠狠色狠色综合曰曰| 亚洲激情在线观看视频免费| 国产主播欧美精品| 这里只有精品久久| 久久久久久12| 青青草原成人在线视频| 日韩视频免费看| 亚洲欧美日韩天堂| 久久久亚洲成人| 久久韩剧网电视剧| 91久久精品国产91久久性色| 欧美精品日韩三级| 久久中文字幕国产| 久久婷婷国产麻豆91天堂| 97香蕉久久超级碰碰高清版| 538国产精品一区二区免费视频| 亚洲级视频在线观看免费1级| 日韩中文有码在线视频| 久久综合伊人77777尤物| 啊v视频在线一区二区三区| 亚洲色图欧美制服丝袜另类第一页| 国产精品美女无圣光视频| 色先锋资源久久综合5566| 久久久免费高清电视剧观看| 亚洲丝袜在线视频| 日韩在线观看免费高清| yw.139尤物在线精品视频| 国产精品爽爽ⅴa在线观看| 日日骚久久av| 久久久久久久av| 欧美成人在线免费| 欧美日韩国产麻豆| 日韩av在线免播放器| 亚洲第一精品自拍| 日韩av电影院| 在线观看日韩av| 国产精品av在线| 欧美精品在线免费播放| 日韩小视频网址| 国产精品久久久久77777| 国产精品视频一区国模私拍| 日韩亚洲欧美中文在线| 国产精品久久久| 在线日韩av观看| 日韩在线观看精品| 亚洲欧美中文字幕在线一区| 国产精品国产福利国产秒拍| 成人自拍性视频| 91精品国产综合久久香蕉| 欧美疯狂做受xxxx高潮| 日韩av在线一区二区| 精品久久久久国产| 在线观看中文字幕亚洲| 国产精品视频精品视频| 亚洲免费视频观看| 亚洲人成在线观看网站高清| 色悠悠久久88| 亚洲在线免费观看| 日韩精品中文字幕在线观看| 97精品国产97久久久久久免费| zzjj国产精品一区二区| 久久精品亚洲94久久精品| 午夜精品久久久久久久99热| 日韩av电影在线免费播放|