Server應用程序開發(fā)課件_第1頁
Server應用程序開發(fā)課件_第2頁
Server應用程序開發(fā)課件_第3頁
Server應用程序開發(fā)課件_第4頁
Server應用程序開發(fā)課件_第5頁
已閱讀5頁,還剩112頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12章

SQLServer應用程序開發(fā)12.1使用Access開發(fā)

SQLServer應用程序在Access2000或更高版本中,可以使用Access項目對SQLServer數(shù)據(jù)庫高效、方便的訪問。使用Access項目可以輕松地創(chuàng)建客戶/服務器應用程序。操作Access項目與操作Access數(shù)據(jù)庫非常相似。除了要連接到SQLServer數(shù)據(jù)庫外,在Access項目中創(chuàng)建和應用窗體、報表、數(shù)據(jù)訪問頁、宏和模塊的方法,與在Access數(shù)據(jù)庫中所用的方法是相同的。下面以Access2000為例來介紹如何使用Access來開發(fā)SQLServer應用程序。12.1.1創(chuàng)建Access項目Access項目是一種Access數(shù)據(jù)文件,它能通過OLEDB組件結(jié)構(gòu)有效地以本地模式訪問SQLServer數(shù)據(jù)庫。OLEDB是一種組件數(shù)據(jù)庫體系,它對多種類型數(shù)據(jù)源實現(xiàn)有效的網(wǎng)絡和Internet訪問。使用Access項目可以輕松地創(chuàng)建一個客戶/服務器應用程序,既可以是基于窗體、報表的傳統(tǒng)解決方案,也可以是通過數(shù)據(jù)訪問頁實現(xiàn)的基于Web的解決方案,或是兩者的結(jié)合。1.創(chuàng)建Access項目并將其與現(xiàn)有SQLServer數(shù)據(jù)庫連接啟動Access2002,然后從“文件”選單中選擇“新建”命令。在“新建文件”任務窗格中,單擊“項目(現(xiàn)有數(shù)據(jù))”,在“文件新建數(shù)據(jù)庫”對話框中,單擊“保存位置”框中的一個地址,并在“文件名”框中鍵入項目文件名,確?!癕icrosoftAccess項目”出現(xiàn)在“保存類型”框中,之后,單擊“創(chuàng)建”按鈕。當出現(xiàn)“數(shù)據(jù)鏈接屬性”對話框時,選擇“連接”選項卡,然后選擇或輸入要登錄的服務器名稱。提供登錄到服務器上所需的信息,為此應執(zhí)行下列操作之一:若要使用Windows賬戶登錄到SQLServer服務器,請單擊“使用WindowsNT集成安全設置”選項。若要使用指定的登錄ID和密碼登錄到SQLServer服務器,請單擊“使用指定的用戶名稱和密碼”選項,并輸入相應的用戶名稱和密碼。選中“在服務器上選擇數(shù)據(jù)庫”選項,然后在該選項下面的下拉式列表中選擇要連接的SQLServer數(shù)據(jù)庫(如示例數(shù)據(jù)庫Northwind)。單擊“確定”按鈕,完成到指定數(shù)據(jù)庫的連接,此時該數(shù)據(jù)庫中包含的各個對象將顯示在“項目”窗口中,如圖12.4所示。在如圖12.6所示的“MicrosoftSQLServer數(shù)據(jù)庫向?qū)А睂υ捒蛑?,鍵入要使用的服務器的名稱、在服務器上具有CREATEDATABASE權(quán)限的賬戶的登錄ID和密碼以及新SQLServer數(shù)據(jù)庫的名稱,然后單擊“下一步”按鈕。注意如果正在創(chuàng)建一個SQLServer6.5數(shù)據(jù)庫,請輸入數(shù)據(jù)庫設備和大小、事務處理日志設備和大小、數(shù)據(jù)庫的大小和日志的大小。無需為SQLServer7.0或更高版本指定設備和大小。在Access2000中,可以使用MicrosoftSQLServer數(shù)據(jù)庫向?qū)?chuàng)建SQLServer6.5或SQLServer7.0數(shù)據(jù)庫。若要MicrosoftSQLServer數(shù)據(jù)庫向?qū)?chuàng)建SQLServer2000數(shù)據(jù)庫,則應使用Access2002。在如圖12.7所示的對話框中,單擊“完成”按鈕。12.1.2打開Access項目步驟(1)在“文件”選單中選擇“打開”命令。(2)單擊“打開”對話框左側(cè)的快捷方式,或者在“查找范圍”框中單擊包含要打開的Access項目的驅(qū)動器或文件夾。若要查看以前打開過的Access項目的快捷方式列表,請單擊“打開”對話框左側(cè)的“歷史”。(3)在文件夾列表中雙擊文件夾,直到打開包含Access項目的文件夾。如果找不到想要打開的Access對象,請單擊“打開”對話框右上角的“工具”,然后單擊“查找”,并在“查找”對話框中輸入搜索條件。(4)單擊打開的Access項目文件,然后執(zhí)行下列操作之一:若要打開Access項目,請單擊“打開”按鈕。若要以只讀訪問方式打開Access項目,請單擊“打開”箭頭,然后選擇“以只讀方式打開”命令。在Access2002中,可以只以獨占模式打開Access項目。如果試圖打開一個其他用戶已經(jīng)打開的Access項目,則Access會提示用戶打開了該文件的一個只讀副本。需要說明的是,當以只讀模式打開Access項目時,仍然可以添加或修改數(shù)據(jù),創(chuàng)建或修改表、視圖、數(shù)據(jù)庫圖表或存儲過程,因為數(shù)據(jù)和這些對象是駐留在SQLServer數(shù)據(jù)庫中。然而,不能創(chuàng)建或修改窗體、報表、宏或模塊,因為這些對象是駐留在Access項目中的。12.1.3連接到SQLServer數(shù)據(jù)庫下面介紹將Access項目連接到SQLServer數(shù)據(jù)庫,或者更改Access項目與SQLServer數(shù)據(jù)庫的連接方法。在Access2002在,打開要連接到SQLServer數(shù)據(jù)庫的Access項目。(1)從“文件”選單中選擇“連接”命令。(2)在如圖12.8所示的“數(shù)據(jù)鏈接屬性”對話框中,選擇“連接”選項卡。從下拉列表中選擇一個服務器名,或鍵入想要訪問數(shù)據(jù)庫所在的服務器位置。單擊“刷新”按鈕,可以刷新服務器列表。(4)輸入登錄到服務器所需的信息,可以使用WindowsNT集成安全機制,也可以使用指定的用戶名和密碼。(5)從所選服務器上,選擇要連接的SQLServer數(shù)據(jù)庫。若要測試所做的設置是否正確,請單擊“測試連接”按鈕。此時,將嘗試連接到指定的SQLServer數(shù)據(jù)庫。如果連接失敗,請確保設置是正確的。(6)單擊“確定”按鈕。12.1.4使用數(shù)據(jù)庫表在Access2002中,既可以創(chuàng)建一個Access項目并將其與現(xiàn)有SQLServer數(shù)據(jù)庫連接,也可以創(chuàng)建一個SQLServer數(shù)據(jù)庫并將其與Access項目連接。無論是哪一種情況,只要打開了Access數(shù)據(jù)庫中使用表設計器一樣。所不同的是,對于Access項目來說,表存儲在SQLServer數(shù)據(jù)庫中;對于Access數(shù)據(jù)庫來說,表即存儲在該數(shù)據(jù)庫中。下面介紹通過Access項目在SQLServer數(shù)據(jù)庫創(chuàng)建表的方法。步驟啟動Access2002,然后從“文件”選單中選擇“新建”命令。在“新建文件”窗格中,單擊“項目(新數(shù)據(jù))”。在“文件新建數(shù)據(jù)庫”對話框中,單擊“保存位置”框中的一個地址,并在“文件名”框中鍵入一個名稱(例中為Students),然后單擊“創(chuàng)建”按鈕。當出現(xiàn)“MicrosoftSQLServer數(shù)據(jù)庫向?qū)А睂υ捒驎r,鍵入要使用的服務器的名稱、在服務器上具有CREATEDATABASE權(quán)限的賬戶的登錄ID和密碼以及新SQLServer數(shù)據(jù)庫的名稱(例中為StudentsSQL),然后單擊“下一步”按鈕.單擊項目窗口工具欄上的“新建”按鈕。在項目窗口中雙擊“使用設計器創(chuàng)建表”。此時出現(xiàn)如圖12.11所示的表設計器窗口,該窗口與SQLServer2000的表設計器基本相同。表設計器上部網(wǎng)格中的每一行對應表中的一列。

創(chuàng)建表時,需要對表中的每一列進行定義:在上部網(wǎng)格中指定列名稱、選擇數(shù)據(jù)類型并鍵入列說明文本,然后在窗口下部的“列”選項卡中對列的各種屬性進行設置。按照要求,完成Students表結(jié)構(gòu)的定義,并將student_id列設置為表的主鍵,然后單擊工具欄中的“保存”按鈕。當出現(xiàn)如圖12.12所示的“選擇名稱”對話框時,在“輸入表名稱”框中輸入Students,然后單擊“確定”按鈕。按照要求,完成Courses表結(jié)構(gòu)的定義。按照要求,完成Scores表結(jié)構(gòu)的定義。完成數(shù)據(jù)庫表結(jié)構(gòu)定義后,若要向表中輸入數(shù)據(jù)或查看表中的數(shù)據(jù),請單擊該表,然后單擊項目窗口工具欄上的“打開”按鈕;若要修改表結(jié)構(gòu),請單擊項目窗口工具欄上的“設計”按鈕;若要刪除一個表,請在項目窗口中單擊該表,然后單擊項目窗口工具欄上的“刪除”按鈕。步驟(1)在Access2002中打開項目Students.adp。在如圖12.13所示的項目窗口中,單擊對象欄下方的“數(shù)據(jù)庫圖表”,然后執(zhí)行下列操作之一:(2)單擊項目窗口工具欄上的“新建”按鈕。在項目窗口中雙擊“使用設計器創(chuàng)建數(shù)據(jù)庫圖表”。(3)當出現(xiàn)如圖12.14所示的“添加表”對話框時,按住Ctrl鍵依次單擊要添加到數(shù)據(jù)庫圖表中的表,然后單擊“添加”按鈕,再單擊“關閉”按鈕。在本例中向圖表中添加了三個表,即Students表、Courses表和Scores表。(6)重復步驟(4)和(5),通過course_id列在Scores表和courses表之間建立關系。(7)單擊工具欄上的“保存”按鈕,并在“另存為”對話框中指定圖表名稱,然后關閉數(shù)據(jù)庫圖表設計器窗口。創(chuàng)建數(shù)據(jù)庫圖表后,若要修改該圖表的設置,請單擊該圖表,然后單擊項目窗口工具欄上的“設計”按鈕;若要刪除該圖表,請單擊該圖表,然后單擊項目窗口工具欄上的“刪除”按鈕。12.1.6使用查詢項目中的查詢對應于SQLServer數(shù)據(jù)庫中的視圖,這種數(shù)據(jù)庫對象存儲在SQLServer數(shù)據(jù)庫中,可以使用與表相同的方式在SQL查詢語句中引用。在Access2002中,可以使用查詢設計器來創(chuàng)建視圖。[例12.3]本例說明如何使用查詢設計器創(chuàng)建視圖對象。在項目文件Students.adp中創(chuàng)建一個名為“學生成績”的視圖,其結(jié)果集內(nèi)的數(shù)據(jù)分別來自Students表、Courses表和Scores表,所顯示的輸出列包括Students表中的student_num列、student_name列、Courses表中的course_name列以及Scores表中的score,要求按student_name列升序排列記錄。步驟在Access2002中打開項目文件Students.adp。在如圖12.17所示的項目窗口中單擊對象欄下方的“查詢”,然后單擊項目窗口工具欄上的“新建”按鈕,或者在項目窗口中雙擊“使用設計器創(chuàng)建視圖”,以打開查詢設計器窗口。向視圖中添加所需表。當出現(xiàn)“添加表”對話框時,將Students表、Courses表和Scores表添加視圖中,然后關閉“添加表”對話框,并進入查詢設計器窗口.向視圖中添加所需表列。在查詢設計器窗口上部的“圖表”窗格中,單擊要輸出的表列左側(cè)的輸出復選框,使這些列出現(xiàn)在下方的設計網(wǎng)格中。在本例中,通過視圖輸出的列包括Students表中的student_num列和student_name列、Courses表中的course_name列以及Scores表中的score列。指定輸出列的別名。在設計網(wǎng)格中,分別在student_num,student_name,course_name和score列的“別名”框中鍵入中文名稱,即“學號”、“姓名”、“課程名稱”和“成績”。

設置排序選項。在設計網(wǎng)格中,單擊student_name列的“排序”單元格,然后選擇“升序”選項,如圖12.19所示。單擊工具欄上的“保存”按鈕,并在“另存為”對話框中將視圖名稱指定為“學生成績”,然后單擊“確定”按鈕。從“視圖”選單中選擇“數(shù)據(jù)表視圖”命令,或者單擊工具欄上的“視圖”按鈕,或者單擊工具欄的“運行”按鈕,以瀏覽視圖的運行結(jié)果,如圖12.20所示。若要查看視圖中的SQL語句,單擊工具欄的“SQL”按鈕即可。此時將在SQL窗格中看到以下SELECT查詢語句:SELECTTOP100PERCENTdbo.Students.student_numAS學號,dbo.Students.student_numAS姓名,dbo.Courses.course_nameAS課程名稱,dbo.Score.scoreAS成績FROMdbo.CoursesINNERJOINdbo.ScoreONdbo.Courses.course_idINNERJOINdbo.StudentsONdbo.Scores.student_id=dbo.Students.student_idORDERBYdbo.Students.student_name由于事先已經(jīng)使用圖表設計器分別在Students表和Scores表以及Courses表和Scores表之間建立了關系,故在上述語句的FROM子句中自動出現(xiàn)了INNERJOIN運算符,通過內(nèi)連接返回到在連接列中具有相等值的行。此外,在上述語句中還自動出現(xiàn)了TOP100PERCENT選項,如果不想使用該選項,可以單擊工具欄上的“屬性”按鈕,然后在“屬性”對話框的“視圖”選項卡中清除“頂端”復選框。在Access項目中創(chuàng)建一個視圖之后,若要在數(shù)據(jù)表視圖中查看結(jié)果集的內(nèi)容,請單擊該視圖,然后單擊項目窗口工具欄上的“打開”按鈕;若要在設計視圖中修改該視圖的定義,請單擊該視圖,然后單擊項目窗口工具欄上的“設計”按鈕;若從項目中要刪除該視圖,請單擊該視圖,然后單擊項目窗口工具欄上的“刪除”按鈕。12.1.7使用窗體通過Access項目中的窗體可以輸入和顯示數(shù)據(jù),這種窗體存儲在Access項目中,數(shù)據(jù)本身則存儲在SQLServer數(shù)據(jù)庫中。在Access2002中,既可以在設計視圖中創(chuàng)建窗體,也可以使用向?qū)?chuàng)建窗體。[例12.4]本例說明如何使用向?qū)?chuàng)建窗體。在項目文件Student.adp中創(chuàng)建一個名為“學生資料”的窗體,通過該窗體可以查看或修改Student表中的數(shù)據(jù)。步驟在Access2002中打開項目文件Student.adp。啟動窗體向?qū)?。在如圖12.21所示的項目窗口中單擊對象欄下方的“窗體”,然后雙擊“使用向?qū)?chuàng)建窗體”。確定在窗體上使用哪些字段。當出現(xiàn)如圖12.22所示的對話框時,首先從“表/查詢”列表框中選擇將要作用窗體數(shù)據(jù)源的表或視圖,然后在“可用字段”列表框中依次雙擊所需要的每個字段,將它們添加到“選定的字段”列表框中。也可以從多個表或視圖中選擇字段。若要刪除某個已經(jīng)選定的字段,請在“選定的字段”列表框中雙擊該字段。在本例中,為窗體選擇的字段均來自Student表,包括student_num,student_name,student_sex,birthdate,department,speciality,grade以及class字段。確定窗體上所需字段后,單擊“下一步”按鈕。確定窗體布局。當出現(xiàn)如圖12.23所示的“窗體向?qū)А睂υ捒驎r,為窗體選擇一種適當?shù)牟季址绞健?/p>

每當選擇一種布局方式時,可以在該對話框的左半部分查看相應的布局效果。例如,若要使每個表列都顯示在一個獨立的行上,并且左邊帶有一個標簽,請選擇“縱欄式”選項;若要使每一行的所有表列都顯示在一行,標簽顯示在窗體的頂端,請選擇“表格”選項。在本例中選擇了“縱欄式”布局,單擊“下一步”按鈕。確定窗體樣式。當出現(xiàn)如圖12.24所示的“窗體向?qū)А睂υ捒驎r,選擇窗體所用的樣式,可供選擇的樣式有“Sumi畫”、“國際”、“宣紙”、“工業(yè)”、“標準”、“沙巖”、“混合”、“石頭”、“藍圖”和“遠征”。在本例中選擇了“標準”樣式,然后單擊“下一步”按鈕。在如圖12.25所示的“窗體向?qū)А睂υ捒蛑?,將窗體的標題指定為“學生資料”,并選取“修改窗體設計”選項,然后單擊“完成”按鈕。在窗體設計器窗口中打開窗體之后,在窗體頁眉區(qū)中添加一個標簽,其文本內(nèi)容為“學生資料”,并設置字體和字號;將每個文本框左側(cè)的標簽內(nèi)容改為中文,例如將student_num改為“學號”,將student_name改為“姓名”,等等。經(jīng)過修改后的窗體布局如圖12.26所示。

從“視圖”選單中選擇“窗體視圖”命令,或者單擊工具欄上的“視圖”按鈕,以查看窗體的運行效果,如圖12.27所示。在“窗體”視圖中查看學生資料的情形如圖12.27所示,此時可以通過單擊窗體底部的瀏覽按鈕在不同學生記錄之間移動。在項目中創(chuàng)建一個窗體之后,若要在窗體視圖中查看該窗體,請單擊該窗體,然后單擊項目窗口工具欄上的“打開”按鈕;若要修改該窗體的布局,請單擊該窗體,然后單擊項目窗口工具欄上的“設計”按鈕;若要刪除該窗體,請單擊該窗體,然后單擊項目窗口工具欄上的“刪除”按鈕。12.1.8使用報表使用Access項目中的報表可以對數(shù)據(jù)進行計算、分組、匯總和打印,報表存儲在Access項目中,數(shù)據(jù)本身則存儲在SQLServer數(shù)據(jù)庫中。在Access2002中,既可以使用報表設計器創(chuàng)建報表,也可以使用向?qū)?chuàng)建報表。[例12.5]本例說明如何使用向?qū)?chuàng)建報表。在項目Student.adp中創(chuàng)建一個名為“學生資料”的報表,按照學號升序顯示所有學生的部分信息,并要求按照班級分組顯示。步驟在Access2002中打開項目文件Student.adp。啟動報表向?qū)?。在如圖12.28所示的項目窗口中單擊對象欄下方的“報表”,然后雙擊使用向?qū)?chuàng)建報表。確定報表上使用哪些字段。當出現(xiàn)如圖12.29所示的“報表向?qū)А睂υ捒驎r,從“表/查詢”列表框中選擇“表:Students”,然后在“可用字段”列表框中依次雙擊所需字段,將它們添加到“選定的字段”列表框中.在本例中選定student_num,student_name,student_sex,birthdate,department,speciality,grade以及class字段。然后單擊“下一步”按鈕。確定分組級別。當出現(xiàn)如圖12.30所示的“報表向?qū)А睂υ捒驎r,在左邊的列表框中雙擊要作為分組依據(jù)的字段。在本例中選擇class字段作為分組依據(jù),然后單擊“下一步”按鈕確定排序次序。當出現(xiàn)如圖12.31所示的“報表向?qū)А睂υ捒驎r,確定明細信息使用的排序次序,最多可以選擇四個字段對記錄排序,既可以是升序也可以是降序。單擊“升序”按鈕,則它變?yōu)椤敖敌颉保粗嗳?。在本例中選擇student_num字段作為排序依據(jù),然后單擊“下一步”按鈕。

確定報表的布局方式和打印方向。在如圖12.32所示的“報表向?qū)А睂υ捒蛑校瑸閳蟊磉x擇一種適當?shù)牟季址绞?,可供選擇的布局方式有“遞階”、“塊”、“分級顯示1”、“分級顯示2”、“左對齊1”以及“左對齊2”,每當選擇一種布局方式時,都可以在對話框左邊查看相應的布局效果;選擇報表的打印方向,根據(jù)表中使用字段的多少可以選擇“縱向”或者“橫向”。在本例中,為報表選擇的布局方式為“左對齊1”,打印方式為“縱向”,并選定“調(diào)整字段寬度使所有字段都能顯示在一頁中”復選框,然后單擊“下一步”按扭.確定報表所用樣式。在如圖12.33所示的“報表向?qū)А睂υ捒蛑?,為報表選擇一種樣式,可供選擇的樣式有“大膽”、“正式”、“淡灰”、“緊湊”、“組織”和“隨意”。在本例中為報表選擇“組織”樣式,然后單擊“下一步”按鈕。指定報表標題。在如圖12.34所示的“報表向?qū)А睂υ捒蛑?,為報表指定標題(本例中為“學生資料”)。并選擇“修改報表設計”選項,然后單擊“下一步”按鈕。在報表設計器窗口中打開報表之后,將報表中所有標簽中的字段名改為中文,例如將“student_num”改為“學號”等,如圖12.35所示。從“視圖”選單中選擇“打印預覽”命令,或者單擊工具欄上的“打印預覽”按鈕,以查看報表的布局效果。在項目中創(chuàng)建一個報表之后,若要在打印預覽視圖中查看該報表,請單擊該報表,然后單擊項目窗口工具欄上的“打印預覽”按鈕;若要修改該報表的布局,請單擊該報表,然后單擊項目窗口工具欄上的“設計”按鈕;若要刪除該報表,請單擊該報表,然后單擊項目窗口工具欄上的“刪除”按鈕。12.1.9通過項目管理SQLServer數(shù)據(jù)庫通過Access項目中不僅可以管理存儲在項目中的數(shù)據(jù)庫對象(例如窗體和報表等),也可以管理存儲在SQLServer數(shù)據(jù)庫中的數(shù)據(jù)庫對象(例如表、視圖和數(shù)據(jù)庫圖表等),還可以對SQLServer數(shù)據(jù)庫本身進行管理。1.顯示SQLServer服務器屬性步驟在Access2002中打開一個已與SQLServer建立連接的Access項目。在“視圖”選單中選擇“服務器屬性”命令。此時出現(xiàn)如圖12.37所示的“服務器屬性”對話框,包含了以下信息:數(shù)據(jù)庫產(chǎn)品(MicrosoftSQLServer);數(shù)據(jù)庫版本號(8.0即為SQLServer2000版);數(shù)據(jù)庫服務器的名稱;Access項目連接到的當前SQLServer數(shù)據(jù)庫的名稱。

注意當前SQLServer數(shù)據(jù)庫名稱以及其文件格式(Access2000或Access2002)也顯示在“項目”窗口的標題欄中,出現(xiàn)在Access項目文件名稱的右側(cè)。2.備份和還原數(shù)據(jù)庫使用Access項目可以對SQLServer2000數(shù)據(jù)庫進行備份和還原。應該經(jīng)常定期備份數(shù)據(jù)庫,以保護在硬件故障或意外損失時數(shù)據(jù)的安全。利用創(chuàng)建數(shù)據(jù)時制作的備份,可以還原這些數(shù)據(jù)。若要備份并還原SQLServer數(shù)據(jù)庫,請使用SQLServer企業(yè)管理器。下面介紹通過Access項目來備份SQLServer數(shù)據(jù)庫的方法。步驟打開一個連接到SQLServer2000的Access項目。選擇“工具→數(shù)據(jù)庫實用工具→備份SQL數(shù)據(jù)庫”命令。當出現(xiàn)如圖12.38所示的“備份”對話框時,在“文件名”框中輸入備份文件的名稱(.dat),或使用Access輸入的默認名稱。單擊“確定”按鈕。需要注意的是,上述操作不備份Access項目(.adp),該項目文件獨立于所連接的SQLServer數(shù)據(jù)庫。若要制作Access項目文件的備份,請使用Windows資源管理器,將該文件復制到安全的位置。若要還原數(shù)據(jù)庫,必須斷開所有用戶與該數(shù)據(jù)庫的連接,并關閉除“數(shù)據(jù)庫”窗口外的所有窗口,然后執(zhí)行以下操作。步驟打開一個連接到SQLServer2000的Access項目。選擇“工具→數(shù)據(jù)庫實用工具→還原SQL數(shù)據(jù)庫”命令,當出現(xiàn)如圖12.39所示的對話框時,單擊“是”按鈕。當出現(xiàn)如圖12.40所示的“恢復”對話框時,在“查找范圍”框中選擇一個地址,然后找到所需要數(shù)據(jù)庫備份文件(.dat)。單擊數(shù)據(jù)庫備份文件,然后單擊“確定”按鈕。3.刪除數(shù)據(jù)庫下面介紹從Access項目中刪除SQLServer2000數(shù)據(jù)庫的方法。

步驟斷開所有用戶與該數(shù)據(jù)庫的連接,并關閉除“數(shù)據(jù)庫”窗口外的全部窗口。打開連接到SQLServer2000的Access項目。選擇“工具→數(shù)據(jù)庫實用工具→刪除SQL數(shù)據(jù)庫”命令。單擊“是”按鈕,確認數(shù)據(jù)庫刪除操作。12.2使用VisualBasic開發(fā)

SQLServer應用程序VisualBasic是目前流行的可視化開發(fā)工具之一,它以簡單易用而著稱,不僅可以用于開發(fā)各種類型的桌面應用程序,也可以用于開發(fā)數(shù)據(jù)庫應用程序。下面介紹如何使用VisualBasic6.0開發(fā)SQLServer應用程序,主要講述通過數(shù)據(jù)控件、ADO數(shù)據(jù)控件以及數(shù)據(jù)環(huán)境訪問SQLServer數(shù)據(jù)庫的方法和步驟。12.21使用數(shù)據(jù)控件數(shù)據(jù)控件是VisualBasic的標準控件之一。在應用程序中,可以使用數(shù)據(jù)控件和各種數(shù)據(jù)綁定控件來顯示和更新數(shù)據(jù)庫中的信息。使用數(shù)據(jù)控件時,不用編寫代碼就能夠創(chuàng)建簡單的數(shù)據(jù)庫應用程序。如果將數(shù)據(jù)控件與VisualBasic代碼結(jié)合起來,則可以為數(shù)據(jù)處理提供高級的編程控件,從而設計出功能完備的數(shù)據(jù)庫應用程序。1.數(shù)據(jù)控件概述

在VisualBasic中,使用數(shù)據(jù)控件能夠?qū)⒋绑w與數(shù)據(jù)庫連接起來,只需要編寫少量代碼甚至不用編寫代碼就能夠完成下列任務。與本地數(shù)據(jù)庫或遠程數(shù)據(jù)庫連接?;赟QL查詢打開指定的數(shù)據(jù)庫表或定義記錄集。將數(shù)據(jù)字段傳送到各種綁定控件,并在這些控件中顯示或更新字段值。根據(jù)綁定控件中顯示的數(shù)據(jù)變化來添加新記錄或更新數(shù)據(jù)庫。捕獲訪問數(shù)據(jù)時出現(xiàn)的錯誤。關閉數(shù)據(jù)庫。2.在窗體上添加數(shù)據(jù)控件用數(shù)據(jù)控件訪問數(shù)據(jù)庫時,首先要在工具箱中單擊數(shù)據(jù)控件按鈕,并在窗體上添加一個數(shù)據(jù)控件。數(shù)據(jù)控件的大小和位置都可以重新設置,不過,習慣上是把該控件放在窗體的底部,并使其寬度與窗體的ScaleWidth

屬性值相等。為此,請在屬性窗口中把數(shù)據(jù)控件的Align屬性設置為2,使數(shù)據(jù)控件大小將與窗體的尺寸同步變化,如圖12.42所示。從圖中可以看到,數(shù)據(jù)控件中間的空折區(qū)域中顯示著Data1字樣,這是數(shù)據(jù)控件的Caption屬性所指定的文本。在運行時可以用該屬性來顯示當前記錄號。3.設置數(shù)據(jù)控件連接的數(shù)據(jù)庫使用數(shù)據(jù)控件時,首先指定要連接的數(shù)據(jù)類型,這可以通過在屬性窗口中設置數(shù)據(jù)控件的Connect屬性來實現(xiàn)。Connect屬性的默認值是Access。如果要連接的不是Access數(shù)據(jù)庫,而是其他類型的數(shù)據(jù)庫,就必須對Connect屬性進行設置,操作方法如下:在屬性窗口中選定數(shù)據(jù)控件,然后單擊Connect屬性框并選擇要連接的數(shù)據(jù)庫類型。若要使用數(shù)據(jù)控件連接到指定的SQLServer數(shù)據(jù)庫,則應當用手工方式在Connect屬性框中輸入以下字符串:ODBC;Driver={SQLserver};Server=ServerName;UID=UserID;PWD=Password;Database=DatabaseName

在上述連接字符串中,ODBC表示通過ODBC驅(qū)動程序建立與數(shù)據(jù)庫的連接;Server指定要連接的SQLServer服務器;UID和PWD分別指定SQLServer登錄名和密碼;Database指定要連接的SQLServer數(shù)據(jù)庫。例如,設SQLServer實例運行在計算機ABC上,有一個用戶ID為hegels,相應的密碼為123456,若要連接的數(shù)據(jù)庫為StudentSQL,則連接字符串內(nèi)容應為:ODBC;Driver={SQLserver};Server=ABC;UID=hegels;PWD=123456;Database=StudentSQL4.設置數(shù)據(jù)控件的記錄來源設置要通過數(shù)據(jù)控件連接的SQLServer數(shù)據(jù)庫之后,還需要設置該控件的RecordSource屬性,以指定在數(shù)據(jù)綁定控件中顯示的記錄來源。數(shù)據(jù)控件的RecordSource屬性的值是一個字符串表達式,其值可以是一個表名稱,也可以是一個合法的SQL查詢語句。一旦通過Connect屬性指定要連接的SQLServer數(shù)據(jù)庫文件,VisualBasic就會自動檢索該數(shù)據(jù)庫中的所有表和有效查詢的名稱,并將它們顯示在RecordSource屬性列表中.5.使用數(shù)據(jù)綁定控件數(shù)據(jù)綁定控件是數(shù)據(jù)識別控件,通過它來訪問數(shù)據(jù)庫中的信息。當一個控件被綁到數(shù)據(jù)控件時,VisualBasic將當前記錄中的字段值應用于該控件,在該控件中顯示數(shù)據(jù),并允許進行修改。如果在綁定控件里改變了字段值,當移動到另一條記錄時,所做的修改會自動地寫入到數(shù)據(jù)庫。在VisualBasic6.0中,可用做綁定控件的標準控件包括復選框、圖像控件、標簽、圖片框、文本框、列表框以及組合框等;可用做綁定控件ActiveX控件包括DBList,DBCombo,DataList,DataCombo,MSFlexGrid,DBGrid以及MaskedEdit等。在使用任何ActiveX控件之前,都需要從“工程”選單中選擇“部件”命令,然后在“部件”對話框中添加該控件。此外,還必須從“工程”選單中選擇“引用”命令,然后在“引用”對話框中注冊數(shù)據(jù)訪問對象(DAO)庫。下面介紹在應用程序中使用綁定控件的方法。步驟在窗體上添加數(shù)據(jù)控件,并設置與數(shù)據(jù)訪問有關的一些基本屬性,例如Connect和RecordSource屬性等,以指定要訪問的SQLServer數(shù)據(jù)。在同一窗體上添加綁定控件,并將其DataSource屬性設置為數(shù)據(jù)控件的名稱,從而將該控件綁定到數(shù)據(jù)庫。將綁定控件的DataField屬性設置為一個字段名稱,從而將該控件綁定到當前記錄的一個字段。注意設置DataSource屬性后,VisualBasic會自動檢索所有可用字段并顯示在DataField屬性的下拉式列表框中,如果在設計時數(shù)據(jù)庫不可用,則在數(shù)據(jù)值從數(shù)據(jù)庫中發(fā)送給控件之前,需要在運行時用代碼提供一個有效的字段名稱。例如,若要將文本框Text1綁定到student_num字段上,可以通過下面的語句來實現(xiàn):

Text1.DataField=“student_num”對于個別字段也可以有多個綁定控件,但不必為表中的每個字段都提供一個綁定控件。數(shù)據(jù)控件和綁定控件并不一定要設為可視的。如果把數(shù)據(jù)訪問的能力合并到設計的窗體中,便能夠利用程序代碼在后臺進行數(shù)據(jù)處理。在程序運行時,數(shù)據(jù)控件、綁定控件與數(shù)據(jù)庫一起工作,以訪問當前記錄集內(nèi)的數(shù)據(jù)。使用數(shù)據(jù)控件的箭頭按鈕可以在不同的記錄之間移動,而用綁定控件則可以查看或編輯從每個字段里顯示出來的數(shù)據(jù)。無論何時,只要單擊數(shù)據(jù)控件的箭頭按鈕,VisualBasic就會自動地更新對記錄集所做的任何改變。6.用數(shù)據(jù)控件創(chuàng)建簡單

的數(shù)據(jù)庫應用程序[例12.6]本例演示如何使用數(shù)據(jù)控件和文本框創(chuàng)建一個數(shù)據(jù)庫瀏覽程序。

步驟在VisualBasic6.0中創(chuàng)建一個標準EXE工程。在窗體上添加一個數(shù)據(jù)控件、五個文本框控件和五個標簽控件,其中數(shù)據(jù)控件用于連接數(shù)據(jù)庫,文本框控件用于顯示字段值,標簽控件用于提示字段標題。按照表12.4中的數(shù)據(jù)對窗體和控件的屬性進行設置。在代碼窗口中,編寫數(shù)據(jù)控件Data1的Reposition事件過程:‘當移動記錄指針時觸發(fā)數(shù)據(jù)控件的Reposition事件PrivateSubData1_Reposition()‘因為記錄集的AbsolutePosition屬性總比記錄號小1Data1.Caption=“當前記錄號:”&Data1.Recordset.AbsolutePosition+1EndSub在上述代碼中,用到了記錄集對象的AbsolutePosition屬性,該屬性用于返回記錄集內(nèi)記錄的相對記錄號,而且第一條記錄的記錄號為0。為了用數(shù)據(jù)控件的Caption屬性來顯示當前記錄號,應將數(shù)據(jù)控件Data1的RecordsetType屬性設置為1(動態(tài)集)或2(快照型記錄集)。按下F5鍵,運行程序。單擊數(shù)據(jù)控件上的箭頭按鈕,可以在不同的記錄之間移動,而且在數(shù)據(jù)控件中間顯示出當前的記錄號.12.2.2添加ADO數(shù)據(jù)控件ADO數(shù)據(jù)控件使用ActiveX數(shù)據(jù)對象(ADO)來快速建立數(shù)據(jù)綁定控件與數(shù)據(jù)源之間的聯(lián)系,使用該控件可以快速創(chuàng)建記錄集并通過數(shù)據(jù)綁定控件將數(shù)據(jù)提供給用戶。1.添加ADO數(shù)據(jù)控件步驟在“工程”選單中選擇“部件”。在“部件”對話框的“控件”選項卡中,選擇MicrosoftADODataControl6.0(OLEDB)復選框。單擊“確定”按鈕,將ADO數(shù)據(jù)控件添加到VisualBasic的工具箱中,如圖12.49所示。在工具箱中雙擊Adodc控件按鈕,在窗體上添加一個ADO數(shù)據(jù)控件,如圖12.50所示。2.設置ADO數(shù)據(jù)控件連接的數(shù)據(jù)庫在窗體上添加ADO數(shù)據(jù)控件后,通過設置該控件的ConnectionString屬性可以指定所要連接的SQLServer數(shù)據(jù)庫,這種連接可以通過OLEDB提供程序或ODBC驅(qū)動程序來實現(xiàn)。OLEDB(ObejctLinking&EmbeddingDatabase)是一種基于COM訪問數(shù)據(jù)的應用程序接口,它支持可以使用OLEDB提供程序的任意數(shù)據(jù)源的訪問。ODBC(OpenDatabaseConnectivity)是一種數(shù)據(jù)訪問應用程序接口,它支持可以使用ODBC驅(qū)動程序的任意數(shù)據(jù)源的訪問。ConnectionString屬性值是一個字符串,給出建立數(shù)據(jù)庫連接所需要的所有信息,因此也稱為連接字符串。該字符串的主要內(nèi)容包括訪問數(shù)據(jù)所用的提供程序或驅(qū)動程序、服務器名稱、用戶標識和登錄密碼以及要連接的默認數(shù)據(jù)庫等。若要通過OLEDB提供程序來訪問SQLServer數(shù)據(jù)庫,應按照以下語法格式來設置ADO數(shù)據(jù)控件的ConnectionString屬性值:Adodc1.ConnectionString=”PROVIDER=SQLOLEDB;DATASOURCE=ServerName;”&_”UID=User;PWD=Password;DATABASE=DatabaseName”若要通過ODBC驅(qū)動程序來訪問SQLServer數(shù)據(jù)庫,應按照以下語法格式來設置ADO數(shù)據(jù)控件的ConnectionString屬性值:Adodc1.ConnectionString=”DRIVER={SQLServer};”&_”UID=UserID;PWD=Password;DATABASE=DatabaseName”3.設置ADO數(shù)據(jù)控件的記錄來源在設置ADO數(shù)據(jù)控件所要連接的SQLServer數(shù)據(jù)庫之后,還需要通過設置該控件的RecordSource屬性來指定來源。

步驟在屬性窗口中選擇ADO數(shù)據(jù)控件。單擊RecordSource屬性框右邊的對話按鈕。當出現(xiàn)如圖12.51所示的“屬性頁”對話框時,從“命令類型”列表框中選擇所需命令類型:若要通過執(zhí)行一個SQL語句來生成記錄集,請選擇“1-adCmdText”。若要從一個數(shù)據(jù)庫表中檢索數(shù)據(jù)庫,請選擇“2-adCmdTable”。若要通過執(zhí)行一個存儲過程來生成記錄集,請選擇“4-adCmdStoredPro根據(jù)步驟(3)完成的操作不同,執(zhí)行下列操作之一:若在步驟(3)中選擇的命令類型為2或4,請在“表或存儲過程名稱”框中選擇所需的表名稱或存儲過程名稱。若在步驟(3)中選擇的命令類型為1,請在“命令文本(SQL)”框中輸入一個SQL查詢語句。單擊“確定”按鈕,完成RecordSource屬性的設置。4.設置ADO數(shù)據(jù)控件的其他屬性除了設置ConnectionString和RecordSource屬性之外,使用ADO數(shù)據(jù)控件時經(jīng)常需要設置以下屬性。ConnectionTimeout屬性:設置在中止前等待打開連接的時間量(單位為秒)。CursorLocation屬性:指定所使用的游標引擎,其取值為2-adUseServer(服務器端游標)或3-adUseClient(客戶端游標)。CursorType屬性:設置用于下一級記錄集的游標類型,其取值為1-adOpenKeyset(鍵集游標)、2-adOpenDynamic(動態(tài)游標)或3-adOpenStatic(靜態(tài)游標)。5.使用ADO數(shù)據(jù)控件

開發(fā)數(shù)據(jù)庫應用程序下面給出通過ADO數(shù)據(jù)控件訪問數(shù)據(jù)庫的例子。[例12.8]使用ADO數(shù)據(jù)控件和列表框控件設計一個數(shù)據(jù)庫應用程序,其功能是根據(jù)學號查詢成績。在VisualBasic6.0中創(chuàng)建一個標準EXE工程。在工具箱中添加ADO數(shù)據(jù)控件,為此應在“部件”對話框的“控件”選項卡中選擇MicrosoftDataGridControl6.0(OLEDB)。在窗體上添加ADO數(shù)據(jù)控件Adodc1.在窗體上添加其他控件,包括標簽Label1和Label2、文本框Text1、命令按鈕Command1、線段Line1以及列表框List1。按照表12.6中的數(shù)據(jù)設置窗體和控件的屬性,設計好的窗體布局如圖12.52所示。在窗體上雙擊命令按鈕Command1,然后在代碼窗口中編寫該控件的Click事件過程,程序代碼如下:PrivateSubCommand1_Click()ConstREC_SRC=”SELECTStudents.student_numAS學號,”&_“Students.student_nameAS課程,”&_“Scores.scoreAS成績”&_“FROMCoursesINNERJOIN“&_“ScoresONCourses.course_id=Scores.course_idINNERJOIN“&_“StudentsONScores.student_id=Students.student_id“DimsNumAsString,Ssqlasstring,sfldnameasstring,sfldvalueasstringSnum=text1.text‘從文本框中取得輸入的學號并存入變量snumIfsnum=””thenMsgbox“請指定學號!”,vbokonly+vbinformation,”學生成績查詢系統(tǒng)”ExitsubElse‘動態(tài)生成查詢語句ssql=rec_src&”wherestudent_num=”&“‘“&snum&“‘“endifadodc1.recordsource=ssql‘動態(tài)設置ADO數(shù)據(jù)控件的記錄來源adodc1.refresh‘打開或重新打開數(shù)據(jù)庫內(nèi)容‘recordset表示通過ADO數(shù)據(jù)控件打開的記錄集,EOF屬性為真表明記錄為空ifadodc1.recordset.EOFthenmsgbox“查無此人。請核實后重新輸入!”,vbokonly+vbinformation,”學生成績查詢系統(tǒng)”exitsubendifLabel2.Caption=adodc1.recordset.fields(“姓名”)&“同學的成績?nèi)缦拢骸盠ist1.Clear‘清空列表框Sfldname=adodc1.recordset.fields(2).name&vbtab&vbtab&vbtab&_Adodc1.recordset.fields(3).nameList1.additemsfldname‘

將字段名添加到列表框List1.additem““Whilenotadodc1.recordset.eofSfldvalue=adodc1.recordset.fields(2).valud&vbtab&vbtab&_Adodc1.recordset.fields(3).valueList1.additemsfldvalue‘將課程和成績添加到列表框Adodc1.receorset.movenext‘將記錄指針移到下一條記錄WendEndsub(7)按F5鍵,運行程序。在文本框中輸入一個學號,然后單擊“查看成績”,如果指定的學生存在于數(shù)據(jù)庫中,則會在列表框中顯示該生各門課程的成績.12.2.3使用數(shù)據(jù)環(huán)境設計器數(shù)據(jù)環(huán)境設計器為創(chuàng)建編程運行時數(shù)據(jù)訪問提供了一個交互的設計時環(huán)境。在設計時,可以對Connection和Command對象設置適當?shù)闹?、編寫代碼響應ADO事件、執(zhí)行命令、創(chuàng)建合計與層次結(jié)構(gòu),也可以拖動DataEnvironment對象到窗體來創(chuàng)建數(shù)據(jù)綁定的控件。使用數(shù)據(jù)環(huán)境設計器可以完成下面的工作:添加一個數(shù)據(jù)環(huán)境設計器到一個VisualBasic工程中:創(chuàng)建Connection對象;基于表、視圖、SQL語句或存儲過程等創(chuàng)建Command對象;基于Command對象的一個分組,或通過與一個或多個Command對象相關來創(chuàng)建命令對象的層次結(jié)構(gòu);為Connection和Recordset對象編寫和運行代碼;從數(shù)據(jù)環(huán)境設計器中拖動一個Command對象中的字段到一個VisualBasic窗體或數(shù)據(jù)報表設計器。1.添加數(shù)據(jù)環(huán)境設計器

若要添加一個數(shù)據(jù)環(huán)境設計器對象到一個新的VisualBasic工程,請執(zhí)行以下操作。

步驟從“文件”選單中選擇“新建工程”命令。在“新建工程”對話框的“新建”選項卡中,選擇“標準EXE”工程,然后單擊“打開”按鈕。從“工程”選單中選擇“添加DataEnvironment”命令。一旦數(shù)據(jù)環(huán)境設計器被添加到VisualBasic工程中,數(shù)據(jù)環(huán)境設計器窗口出現(xiàn),并且將一個Connection對象添加到數(shù)據(jù)環(huán)境,同時在工程窗口中出現(xiàn)一個DataEnvironment對象。2.創(chuàng)建Connection對象

若要通過數(shù)據(jù)環(huán)境訪問數(shù)據(jù),就必須創(chuàng)建一個Connection對象。因此,每一個數(shù)據(jù)環(huán)境應當最少包括一個Connection對象。一個Connection對象表示一個到遠程數(shù)據(jù)庫的連接,該數(shù)據(jù)庫被用做一個數(shù)據(jù)源。一旦在VisualBasic工程中添加了一個數(shù)據(jù)環(huán)境,數(shù)據(jù)環(huán)境設計器就自動地包括一個新的連接,稱為Connection1。在設計時,數(shù)據(jù)環(huán)境打開連接并從該連接中獲得元數(shù)據(jù),包括數(shù)據(jù)庫對象、表結(jié)構(gòu)和過程參數(shù)。若要創(chuàng)建新的Connection對象,請執(zhí)行下列操作之一:在數(shù)據(jù)環(huán)境設計器窗口工具欄上單擊“添加連接”按鈕。右擊數(shù)據(jù)環(huán)境設計器窗口,然后從快捷選單中選擇“添加連接”命令。在數(shù)據(jù)環(huán)境中創(chuàng)建Connection對象之后,還必須設置它的連接屬性,以指定所用的OLEDB提供程序以及要訪問的數(shù)據(jù)庫等。

步驟在數(shù)據(jù)環(huán)境設計器窗口中,單擊相應的Connection對象。單擊工具欄上的“屬性”按鈕,或者右擊數(shù)據(jù)環(huán)境設計器窗口,然后從快捷選單中選擇“屬性”命令。在“數(shù)據(jù)鏈接屬性”對話框的“提供者”選項卡中,選擇MicrosoftOLEDBProviderforSQLServer作為OLEDB提供程序.在“數(shù)據(jù)鏈接屬性”對話框的“連接”選項卡中,選擇或輸入運行SQLServer實例的服務器名稱,輸入登錄該服務器的信息,在該服務器上選擇所要訪問的數(shù)據(jù)庫,然后單擊“確定”按鈕,將所設置的屬性應用于Connection對象,并關閉對話框.3.創(chuàng)建Command對象Command對象定義了從一個數(shù)據(jù)庫連接中獲取何種數(shù)據(jù)的詳細信息。Command對象既可以基于一個數(shù)據(jù)庫對象(例如一個表、視圖或存儲過程),也可以基于一個SQL查詢。此外,還可以創(chuàng)建Command對象之間的關系來以層次結(jié)構(gòu)的形式獲取一組相關的數(shù)據(jù)。但要注意的是,要想使一個Command對象有效,必須和一個Connection對象相關聯(lián)。如果一個Command對象返回數(shù)據(jù),則它是“記錄集返回”,返回的結(jié)果可以通過使用DataEnvironment對象中的一個Recordset對象進行訪問。然而,如果一個Command對象不返回數(shù)據(jù)(例如執(zhí)行一個更新的存儲過程或SQL文本),則它是“非記錄集返回”。數(shù)據(jù)環(huán)境設計器自動地識別Command是否是記錄集返回??梢酝ㄟ^使用“Command屬性”對話框中“高級”選項卡的“返回的記錄集”復選框覆蓋這個設置。在運行時如何訪問Command對象取決Command對象是否是記錄集返回。如果Command對象是記錄集返回,既可以將Command對象作為DataEnvironment對象的一個屬性,也可以作為它的一個方法來進行訪問。如果它是非記錄集返回,則Command對象只能作為一個方法來訪問。任何時候都可以使用AddCommand函數(shù),并且它與其他對象的存在與否無關。然而,一個沒有與Connection對象關聯(lián)的Command對象是無效的。如果一個Connection對象在添加過程中可以被從當前焦點中標識出來,則Command對象的ActiveConnection屬性就被設置到這個Connection對象。如果一個Connection對象不能被標識,在將它與一個連接關聯(lián)之前,Command對象是無效的。若要添加一個Command對象,請執(zhí)行下列操作之一:在數(shù)據(jù)環(huán)境設計器工具欄中單擊“添加命令”按鈕。鼠標右鍵單擊一個Connection對象或您的數(shù)據(jù)環(huán)境設計器,并從快捷方式選單中選擇“添加命令”。添加一個Command對象之后,數(shù)據(jù)環(huán)境的“概要型”視圖就顯示新的Command對象,該對象的默認名稱為“Command”和加在后面的一個數(shù)字,例如Command1。若要指定Command對象的屬性,請執(zhí)行以下操作。步驟右擊Command對象,然后從快捷選單中選擇“屬性”命令,以訪問“Command屬性”對話框。選擇“通用”選項卡,然后進行如下設置:命令名稱:將數(shù)據(jù)庫對象的默認“命令名稱”改為一個更有意義的名字。例如,如果Command對象是基于一個叫做Customers的數(shù)據(jù)庫表,可能想將Command1改為Customers。連接:如果Command對象是從一個Connection對象的快捷方式選單中創(chuàng)建的,Connection名稱被自動地設置。但也可以更改這個Connection。數(shù)據(jù)庫對象:從下拉列表中選擇一個對象的名字。列出的對象來自連接,并且與選擇的“數(shù)據(jù)庫對象”類型匹配。SQL語句:如果選擇該項作為數(shù)據(jù)源,在“SQL語句”框中輸入一個對您數(shù)據(jù)庫有效的SQL查詢。若要建立此查詢,可以單擊“SQL生成器”按鈕,以啟動查詢設計器如果Command對象是基于一個參數(shù)化的查詢或一個存儲過程,它可能有一個參數(shù)集合。若要設置參數(shù)屬性,請在“Command屬性”對話框中選擇“參數(shù)”選項卡。(4)使用“關聯(lián)”、“分組”和“合計”選項卡定義關系,并組織Recordset中包含的數(shù)據(jù)。(5)在“Command屬性”對話框中選擇“高級”選項卡,在該選項卡中設置高級屬性,使數(shù)據(jù)環(huán)境可以對Command對象屬性和它產(chǎn)生的Recordset對象進行控制。(6)單擊“確定”按鈕,將此屬性應用于新的Command對象,并關閉對話框。12.3使用ASP開發(fā)

SQLServer應用程序ASP(ActiveServerPages)是一種服務器端腳本編寫環(huán)境,可以用來創(chuàng)建和運行動態(tài)網(wǎng)頁或Web應用程序。ASP頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。為了擴展ASP應用程序的功能,必須通過數(shù)據(jù)庫訪問組件實現(xiàn)對數(shù)據(jù)庫的訪問。數(shù)據(jù)庫訪問組件提供ADO對象(ActiveDataObjects)對數(shù)據(jù)庫的訪問。下面主要介紹ADO對象模型中的三個主要對象,即Connection對象、Recordset對象和Command對象,使用這些對象可以在ASP頁面上實現(xiàn)對SQLServer數(shù)據(jù)庫的訪問。12.3.1使用Connection對象

Connection對象代表了打開的、與數(shù)據(jù)源的連接,該對象代表與數(shù)據(jù)源進行的惟一會話。如果是客戶端/服務器數(shù)據(jù)庫系統(tǒng),該對象等價于到服務器的實際網(wǎng)絡連接。使用該對象可以實現(xiàn)與SQLServer數(shù)據(jù)庫的連接,也可以通過SQL語句對所連接的數(shù)據(jù)庫進行各種操作。1.創(chuàng)建數(shù)據(jù)庫連接

如果計劃在ASP應用程序中對Web服務器上的數(shù)據(jù)庫進行訪問,就要建立一個數(shù)據(jù)庫連接。沒有數(shù)據(jù)庫連接,應用程序就無法知道在哪里找到數(shù)據(jù)庫,也不知道如何連接到數(shù)據(jù)庫。下面介紹使用Connection對象建立數(shù)據(jù)庫連接時用到的一些屬性和方法。在使用Connection對象之前,應使用Server.CreateObject方法創(chuàng)建該對象的實例,語法格式如下:<%DimcnnSetcnn=Server.CreateObject(“ADODB.Connection”)%>2.使用Connection對象執(zhí)行SQL查詢Connection對象主要用于打開與指定數(shù)據(jù)庫的連接。也可以使用該對象的execute方法還能夠執(zhí)行指定的查詢、SQL語句、存儲過程或特定提供程序的文本等內(nèi)容。Execute方法的語法格式有下列兩種形式。對于不按行返回的命令字符串:connection.executecommandtext,recordsaffected,options對于按行返回的命令字符串:setrec

溫馨提示

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

評論

0/150

提交評論