第7章數(shù)據(jù)庫網(wǎng)站開發(fā)_第1頁
第7章數(shù)據(jù)庫網(wǎng)站開發(fā)_第2頁
第7章數(shù)據(jù)庫網(wǎng)站開發(fā)_第3頁
第7章數(shù)據(jù)庫網(wǎng)站開發(fā)_第4頁
第7章數(shù)據(jù)庫網(wǎng)站開發(fā)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章數(shù)據(jù)庫網(wǎng)站開發(fā)

本章要點(diǎn)7.1新聞瀏覽

7.2新聞管理系統(tǒng)

7.3后臺(tái)管理系統(tǒng)7.4綜合實(shí)例習(xí)題7

7.1新聞瀏覽

7.1.1案例效果圖7-1新聞瀏覽

7.1新聞瀏覽7.1.2案例實(shí)現(xiàn)(見書)7.1.3知識(shí)拓展1.網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用概述當(dāng)前的Web應(yīng)用中,不論是電子商務(wù)、新聞、論壇、博客,還是聊天室,所有的網(wǎng)站中幾乎沒有哪個(gè)網(wǎng)站不會(huì)用到數(shù)據(jù)庫的,網(wǎng)絡(luò)中的數(shù)據(jù)庫應(yīng)用設(shè)計(jì)是一個(gè)相當(dāng)復(fù)雜的過程,這需要學(xué)習(xí)眾多的相關(guān)知識(shí),包括創(chuàng)建/管理數(shù)據(jù)庫、數(shù)據(jù)查詢、數(shù)據(jù)接口、客戶界面等多個(gè)方面的內(nèi)容。圖7-1給出了一個(gè)能夠訪問Web數(shù)據(jù)庫的ASP網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序架構(gòu)。

7.1新聞瀏覽圖7-1ASP網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序架構(gòu)

7.1新聞瀏覽2.數(shù)據(jù)庫的基本概念數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)技術(shù)的一個(gè)重要部分。它所研究的問題是如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)庫按其結(jié)構(gòu)劃分主要有層次型、網(wǎng)絡(luò)型和關(guān)系型三類。目前應(yīng)用最為廣泛的是關(guān)系型數(shù)據(jù)庫。

7.1新聞瀏覽圖7-2表、記錄與字段數(shù)據(jù)庫是數(shù)據(jù)表的集合,數(shù)據(jù)表由一系列記錄組成,記錄是數(shù)據(jù)表中數(shù)據(jù)操作的單位,比如排序、刪除等都是將一條記錄按一個(gè)整體來進(jìn)行。

7.1新聞瀏覽3.在SQLServer2000中創(chuàng)建數(shù)據(jù)庫可以作為數(shù)據(jù)庫管理系統(tǒng)的工具有多種,常見的有MicrosoftSQLServer、MicrosoftAccess、DB2和Oracle等。其中,SQLServer、DB2和Oracle常用于大型企業(yè)服務(wù)器數(shù)據(jù)庫的開發(fā)管理,而MicrosoftAccess則常用于中小型企業(yè)的桌面數(shù)據(jù)庫開發(fā)。在一般的電子商務(wù)網(wǎng)站中MicroSoftSQLServer使用得比較多,下面,將學(xué)習(xí)如何在MicrosoftSQLServer2000中創(chuàng)建數(shù)據(jù)庫。在“開始”菜單中單擊“開始”→“所有程序”→“MicrosoftSQLServer”→“企業(yè)管理器”菜單命令,啟動(dòng)MicroSoftSQLServer2000的“企業(yè)管理器”程序。在“企業(yè)管理器”左側(cè)窗口中展開“控制臺(tái)根目錄”,在“控制臺(tái)根目錄”下的“MicrosoftSQLServers”內(nèi)的“SQLServers”組“(local)(WindowsNT)”服務(wù)器中的“數(shù)據(jù)庫”文件夾上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“新建數(shù)據(jù)庫”菜單命令。如圖7-3所示。

7.1新聞瀏覽圖7-3企業(yè)管理器

7.1新聞瀏覽單擊“新建數(shù)據(jù)庫”菜單命令后,將彈出一個(gè)“數(shù)據(jù)庫屬性”對(duì)話框。在該對(duì)話框的“名稱”框中輸入數(shù)據(jù)庫的名稱“aspteach”,如圖7-4左圖所示。

圖7-4新建數(shù)據(jù)庫

7.1新聞瀏覽

圖7-5新建表

7.1新聞瀏覽在彈出窗口中按圖7-6的內(nèi)容創(chuàng)建新表。其中,id為新聞序號(hào),kind為新聞?lì)愋停ㄈ≈禐閙sg表示通知,news表示普通新聞),title為新聞標(biāo)題,content為新聞內(nèi)容,addtime為更新時(shí)間,admin為增加/修改新聞的管理員名稱。圖7-6設(shè)置表的字段

7.1新聞瀏覽然后單擊窗口左上角的“保存”按鈕,此進(jìn)會(huì)彈出一個(gè)“選擇名稱”對(duì)話框,在“輸入表名”框中輸入“news”后單擊“確定”按鈕保存表,然后單擊右上角的按鈕關(guān)閉表設(shè)計(jì)窗口(注意,是窗口內(nèi)較小的那個(gè)按鈕),回到“企業(yè)管理器”。圖7-7選擇“返回所有行”命令

7.1新聞瀏覽圖7-8輸入新聞?dòng)涗?/p>

7.1新聞瀏覽4.配置ODBC

打開“開始”菜單,單擊“開始”菜單“程序”中“管理工具”下的“數(shù)據(jù)源(ODBC)”菜單命令,打開“ODBC數(shù)據(jù)源管理器”。如圖7-9左圖所示。

圖7-9ODBC數(shù)據(jù)源管理器

7.1新聞瀏覽在“ODBC數(shù)據(jù)源管理器”中,打開“系統(tǒng)DSN”選項(xiàng)卡,如圖7-9右圖所示。

圖7-10選擇驅(qū)動(dòng)程序

7.1新聞瀏覽在列表框中選擇“SQLServer”選項(xiàng)(如果是其他類型數(shù)據(jù),請(qǐng)選擇相應(yīng)選項(xiàng),例如,對(duì)于Access數(shù)據(jù)庫則需要選擇“DrivedoMicrosoftAccess(*.mdb)”選項(xiàng))。單擊“完成”按鈕,將彈出如圖7-11左圖所示的“創(chuàng)建到SQLServer的新數(shù)據(jù)源”對(duì)話框。

圖7-11創(chuàng)建新數(shù)據(jù)源

7.1新聞瀏覽在“名稱”框內(nèi)輸入所要?jiǎng)?chuàng)建的數(shù)據(jù)源名稱,在服務(wù)器列表中可以選擇所要連接的SQLServer服務(wù)器。本例中,將數(shù)據(jù)源名稱設(shè)為“aspteach”,服務(wù)器選擇“(local)”。如圖7-11右圖所示。這里的“(local)”表示本機(jī)服務(wù)器,也可以連接到網(wǎng)絡(luò)中的其他SQLServer服務(wù)器。

圖7-12選擇登錄方式和默認(rèn)數(shù)據(jù)庫

7.1新聞瀏覽

圖7-13ODBCMicrosoftSQLServer安裝

7.1新聞瀏覽單擊“SQLServerODBC數(shù)據(jù)源測(cè)試”對(duì)話框中的“確定”按鈕,回到“ODBCMicrosoftSQLServer安裝”對(duì)話框,再單擊“確定”按鈕,回到“ODBC數(shù)據(jù)源管理器”。可以看到新配置的數(shù)據(jù)源“ASPdb”已經(jīng)在列表框中,如圖7-14所示。圖7-14完成配置后的ODBC數(shù)據(jù)源管理器

7.1新聞瀏覽上面的步驟中,完成了對(duì)一個(gè)SQLServer2000數(shù)據(jù)源的配置。如果使用的數(shù)據(jù)庫不是SQLServer2000,而是其它類型的數(shù)據(jù)庫,例如,Access2000的MDB數(shù)據(jù)庫,那么,只需要在“創(chuàng)建新數(shù)據(jù)源”對(duì)話框中選擇“DriverdoMicrosoftAccess(*.mdb)選項(xiàng)”,如圖7-15所示。再按提示操作即可。圖7-15選擇Access驅(qū)動(dòng)程序

7.1新聞瀏覽5.ADO基礎(chǔ)數(shù)據(jù)庫創(chuàng)建配置完成以后,接下來將學(xué)習(xí)通過ASP去訪問數(shù)據(jù)。ASP對(duì)數(shù)據(jù)庫的操作,主要是通過ActiveX數(shù)據(jù)對(duì)象(ADO,ActiveXDataObject)來進(jìn)行的,ADO是幫助用戶與數(shù)據(jù)庫進(jìn)行交互的組件。下面將學(xué)習(xí)通過ADO從數(shù)據(jù)庫中獲取和傳送數(shù)據(jù),以及獲取到數(shù)據(jù)后的數(shù)據(jù)處理方法。

7.1新聞瀏覽圖7-16常用ADO對(duì)象間的聯(lián)系

7.1新聞瀏覽6.ASP網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì)流程

ASP網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì)可以歸納為以下幾步:(見書)下面的內(nèi)容將以本節(jié)的案例實(shí)現(xiàn)為例,就這些流程步驟進(jìn)行簡單的學(xué)習(xí)。在前面的學(xué)習(xí)中,已經(jīng)完成了數(shù)據(jù)庫和數(shù)據(jù)源DSN的創(chuàng)建,DSN數(shù)據(jù)源名稱為aspteach,接下來將通過ADO對(duì)象創(chuàng)建數(shù)據(jù)庫連接,并操作數(shù)據(jù)庫。

7.2新聞管理系統(tǒng)

7.2.1案例效果圖7-17新聞管理

7.2新聞管理系統(tǒng)7.2.2案例實(shí)現(xiàn)(見書)7.2.3知識(shí)拓展1.SQL簡介

SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言)是一種數(shù)據(jù)查詢和編程語言,是操作數(shù)據(jù)庫的工業(yè)標(biāo)準(zhǔn)語言。SQL語言是基于IBM早期數(shù)據(jù)庫產(chǎn)品SystemR發(fā)展起來的。于1986年經(jīng)美國國家標(biāo)準(zhǔn)協(xié)會(huì)(ANSl)確認(rèn)為國家標(biāo)準(zhǔn),1990年經(jīng)國際標(biāo)準(zhǔn)化組織(ISO)確認(rèn)為國際標(biāo)準(zhǔn)。作為一種特殊用途的語言,SQL特別設(shè)計(jì)用來生成和維護(hù)關(guān)系數(shù)據(jù)庫的數(shù)據(jù)。

SQL語言是一個(gè)結(jié)構(gòu)化的關(guān)系型數(shù)據(jù)庫查詢語言,主要用來存取數(shù)據(jù)庫的內(nèi)容,提供使用者方便、簡單的操作方法的同時(shí),也兼具了強(qiáng)大的功能,千萬別以為SQL語言的所有功能只有查詢(Query)而己,事實(shí)上,從建立新的數(shù)據(jù)表(Table),到修改或是刪除數(shù)據(jù)庫中的記錄(Record),SQL語言對(duì)于數(shù)據(jù)庫的操作可以說是無所不能。

7.2新聞管理系統(tǒng)

SQL語言包括了對(duì)數(shù)據(jù)庫的設(shè)計(jì)、查詢、維護(hù)、控制、保護(hù)等全方位的功能。在SQL語言中,只需要指定要做什么而不是怎么做,不需要告訴SQL如何訪問數(shù)據(jù)庫,只要告訴SQL需要數(shù)據(jù)庫做什么。利用SQL可以指定想要檢索的記錄以及按什么順序檢索??梢栽谠O(shè)計(jì)或運(yùn)行時(shí)對(duì)數(shù)據(jù)控件使用SQL語句。一條SQL語句可以替代許多條數(shù)據(jù)庫命令。從而使得數(shù)據(jù)的查詢功能更加強(qiáng)大、靈活和快速。

SQL語言已經(jīng)成為許多關(guān)系型數(shù)據(jù)庫(如,MSSQLServer、Oracle、DB2)的標(biāo)難查詢語言了,當(dāng)需要操作數(shù)據(jù)庫時(shí),就可以使用SQL語言,但值得興奮的是學(xué)習(xí)SQL語言并沒有想象中的那么困難,SQL語言和其它的程序語言(如,C/C++或者Java)最大的不同之處在于SQL是一個(gè)非常易于學(xué)習(xí)和使用的語言,很快就可以學(xué)會(huì)SQL語言最常使用的命令,并且開始尋找一些數(shù)據(jù)和維護(hù)自己的數(shù)據(jù)庫。

7.2新聞管理系統(tǒng)2.Connection對(duì)象(1)Connection對(duì)象概述

Connection對(duì)象代表打開的、與數(shù)據(jù)源的連接。Connection對(duì)象代表與數(shù)據(jù)源進(jìn)行的唯一會(huì)話。如果是客戶端/服務(wù)器數(shù)據(jù)庫系統(tǒng),該對(duì)象可以等價(jià)于到服務(wù)器的實(shí)際網(wǎng)絡(luò)連接。取決于數(shù)據(jù)提供者所支持的功能,Connection對(duì)象的某些集合、方法或?qū)傩杂锌赡軣o效。(見書)可以創(chuàng)建獨(dú)立于先前定義的其他任何對(duì)象的Connection對(duì)象。此外,還可以象執(zhí)行Connection對(duì)象的本地方法一樣執(zhí)行命令或存儲(chǔ)過程。

7.2新聞管理系統(tǒng)下面的例子是本節(jié)中新聞管理系統(tǒng)的另幾個(gè)頁面。(見書)圖7-19增加新聞

7.2新聞管理系統(tǒng)程序中,先檢查是否有提交的新聞內(nèi)容,如果沒有提交,則顯示用于如圖7-19所示的增加新聞表單頁面;如果有新聞內(nèi)容,先通過下面的語句查詢到表的最后一行記錄,sql="selecttop1*fromnewsorderbyiddesc"

再通過下面的語句檢查記錄集是否為空。ifrs.eofandthen

如果沒有找到合適的記錄,則rs.eof

和rs.bof均為真,即記錄指針同時(shí)指向記錄集的第1條記錄之前和最后一條記錄之后,只有記錄集為空時(shí)發(fā)生這種情況。如果記錄集為空則賦id為1,如果記錄集不為空,rs.eof

和rs.bof不同時(shí)為真,再通過下面的語句獲取該記錄的id,并將id值加1后作為新增記錄的id,這保證了記錄id的連續(xù)性。id=rs("id")+1

然后,再通過rs.addnew方法在記錄集中增加一個(gè)新記錄行,通過下面的語句對(duì)新記錄行的字段進(jìn)行賦值后再將記錄集的修改更新到數(shù)據(jù)庫。(見書)

7.2新聞管理系統(tǒng)頁面打開時(shí),將提取URL中傳遞過來的id值,如果沒有這個(gè)參數(shù),則返回到newsmanage.asp頁面;如果有id,則執(zhí)行下面的查詢語句,提取符合的記錄,將記錄中的和新聞標(biāo)題和內(nèi)容賦給表單元素顯示在窗口中。sql="select*fromnewswhereid="& id

如果用戶取消修改,單擊“取消”按鈕時(shí),執(zhí)行下面的語句返回到newsmanage.asp頁面。onclick="parent.location.href='newsmanage.asp'"

這行語句在用戶單擊按鈕(click)時(shí),通過鏈接“parent.location.href=”跳轉(zhuǎn)到‘newsmanage.asp’指定的頁面。當(dāng)用戶完成修改,單擊“提交”按鈕時(shí),將通過過程btnsubmit_onclick對(duì)表單內(nèi)容進(jìn)行檢查,然后提交到newsupdate.asp文件進(jìn)行處理。

newsupdate.asp文件用于保存用戶的修改結(jié)果,其內(nèi)容如下:(見書)

7.2新聞管理系統(tǒng)圖7-20修改新聞

7.2新聞管理系統(tǒng)上面的程序通過提交過來的參數(shù),查找要修改的記錄,再對(duì)該記錄進(jìn)行更新(update)操作。程序中,會(huì)看到下面的這行語句被注釋了。'rs.update"admin",session("admin")

語句中的session("admin")是在管理員登錄時(shí)記錄的,因?yàn)檫M(jìn)行新聞維護(hù)需要有管理員權(quán)限,因此,在新聞管理頁面之前還有一個(gè)管理員的登錄頁面,在本案例中被省略,將在后面的【案例35】中將創(chuàng)建該頁面。由于沒有session("admin")值,所以這里暫時(shí)將其注釋。這種通過注釋語句以執(zhí)行程序中的一部的方法在程序調(diào)試中非常有用。如果在新聞管理頁面中單擊了“刪除”鏈接,將提交帶有id參數(shù)的URL,跳轉(zhuǎn)到刪除新聞頁面。刪除新聞頁面newsmodi.asp內(nèi)容如下:(見書)上面的程序中,首先查找符合id的記錄,找到后通過下面的語句將其刪除,并更新數(shù)據(jù)庫。(見書)

7.3后臺(tái)管理系統(tǒng)

7.3.1案例效果

圖7-21后臺(tái)管理系統(tǒng)

7.3后臺(tái)管理系統(tǒng)7.3.2案例實(shí)現(xiàn)(見書)7.3.3案例拓展1.Command對(duì)象簡介

Command對(duì)象定義了將對(duì)數(shù)據(jù)源執(zhí)行的指定命令。使用Command對(duì)象,可以查詢數(shù)據(jù)庫并返回Recordset

對(duì)象中的記錄,以便執(zhí)行大量操作或處理數(shù)據(jù)庫結(jié)構(gòu)。

Command對(duì)象的創(chuàng)建方式如下:<%Setcmd=Server.CreateObject(“ADODB.Command”)%>

Command對(duì)象是對(duì)數(shù)據(jù)存儲(chǔ)執(zhí)行命令的對(duì)象。與Connection對(duì)象不同,Connection對(duì)象在處理命令的功能上受到一定的限制,而Command對(duì)象是特別為處理命令的各方面問題而創(chuàng)建的。實(shí)際上,當(dāng)從Connection對(duì)象中運(yùn)行一條命令時(shí),已經(jīng)隱含地創(chuàng)建了一個(gè)Command對(duì)象。有時(shí)其他對(duì)象允許向Command對(duì)象傳入?yún)?shù),但在Connection對(duì)象中不能指定參數(shù)的任何細(xì)節(jié)。

7.3后臺(tái)管理系統(tǒng)如果不想使用Command對(duì)象執(zhí)行查詢,請(qǐng)將查詢字符串傳送給Connection對(duì)象的Execute方法或Recordset對(duì)象的Open方法。但是,當(dāng)需要使命令文本具有持久性并重新執(zhí)行它,或使用查詢參數(shù)時(shí),則必須使用Command對(duì)象??梢允褂肅ommand對(duì)象的集合、方法、屬性進(jìn)行各種數(shù)據(jù)操作,常用方式如下:(見書)2.Command對(duì)象常用方法(1)CreateParameter方法

CreateParameter方法用于創(chuàng)建Command對(duì)象要使用的新參數(shù)。使用格式如下:CreateParameter([Name],[type],[Direction],[Size],[Value])

其中,Name是新參數(shù)的名稱。Type是該參數(shù)的數(shù)據(jù)類型(表7-24列出了常用的數(shù)據(jù)類型),Direction確定參數(shù)是否為輸入?yún)?shù)/輸出參數(shù)(表7-25列出了可使用的Direction值),Size是參數(shù)的最大長度,以字節(jié)或字符為單位,Value是參數(shù)的值。(見書)

7.3后臺(tái)管理系統(tǒng)(2)Execute方法

Execute方法用于執(zhí)行在CommandText

屬性中指定的查詢、SQL語句或存儲(chǔ)過程。使用格

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論