數據庫應用程序開發(fā)_第1頁
數據庫應用程序開發(fā)_第2頁
數據庫應用程序開發(fā)_第3頁
數據庫應用程序開發(fā)_第4頁
數據庫應用程序開發(fā)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 vb.net程序設計教程程序設計教程1 1第第1111章章 數據庫應用程序開發(fā)數據庫應用程序開發(fā)11.1 數據庫概述數據庫概述11.2 ado數據控件數據控件 11.3 記錄集對象記錄集對象recordset 11.4 使用使用sql查詢數據庫查詢數據庫11.5 報表制作報表制作 11.6 綜合應用綜合應用 vb.net程序設計教程程序設計教程2 211.1 11.1 數據庫概述數據庫概述數據庫數據庫 以一定的組織方式將相關的數據組織在以一定的組織方式將相關的數據組織在一起,存放在計算機外存儲器,能為多個用戶一起,存放在計算機外存儲器,能為多個用戶共享,與應用程序彼此獨立的一組數據的集合。共

2、享,與應用程序彼此獨立的一組數據的集合。visual basic支持多種類型的數據庫,如支持多種類型的數據庫,如access數據庫、數據庫、foxpro數據庫、數據庫、microsoft excel、sql server和和oracle等。等。 vb.net程序設計教程程序設計教程3 3.1關系型數據庫模型 關系型數據庫模型將數據用表的集合來表示。通關系型數據庫模型將數據用表的集合來表示。通過建立簡單表之間的關系來定義結構,而不是根過建立簡單表之間的關系來定義結構,而不是根據數據的物理存儲方式建立數據中的關系。不管據數據的物理存儲方式建立數據中的關系。不管表在數據庫文件中的

3、物理存儲方式如何,都可以表在數據庫文件中的物理存儲方式如何,都可以把它看作一組行和列。把它看作一組行和列。數據庫表 vb.net程序設計教程程序設計教程4 4關系型數據庫關系型數據庫 表是有關信息的邏輯組,行被稱為記錄,列則被稱表是有關信息的邏輯組,行被稱為記錄,列則被稱為字段。為字段。主鍵主鍵記錄記錄字段字段 vb.net程序設計教程程序設計教程5 511.1.2 使用使用sql查詢數據庫查詢數據庫結構化查詢語言結構化查詢語言(structure query language,sqlsql)是操作關系數據庫的工業(yè)標準語言。通過是操作關系數據庫的工業(yè)標準語言。通過sql命令,可以從數據庫的多個

4、表中獲取數據,命令,可以從數據庫的多個表中獲取數據,也可對數據進行更新操作。也可對數據進行更新操作。sql的主要語句:的主要語句:從數據庫中刪除一個表從數據庫中刪除一個表數據定義數據定義drup在數據庫中建立一個新表在數據庫中建立一個新表數據定義數據定義create用來改變特定記錄和字段的值用來改變特定記錄和字段的值數據操作數據操作update向表中插入一條記錄向表中插入一條記錄數據操作數據操作insert從數據表中刪除記錄從數據表中刪除記錄數據操作數據操作delete在數據庫中查找滿足特定條件的記錄在數據庫中查找滿足特定條件的記錄數據查詢數據查詢select描描 述述分類分類命命 令令. v

5、b.net程序設計教程程序設計教程6 6selectselect語句語句 1select語句的基本語法形式語句的基本語法形式 select select 目標表達式列表目標表達式列表 from from 表名表名 where where 查詢條件查詢條件 group by group by 分組字段分組字段 having having 分組條件分組條件 order by order by 排序關鍵字段排序關鍵字段 asc|descasc|desc 它包含它包含4部分,其中部分,其中select和和from子句是子句是必須的必須的,通,通過使用過使用select語句返回一個記錄集。語句返回一個記

6、錄集。 例例 在學生基本情況表中查詢物理系的學生情況:在學生基本情況表中查詢物理系的學生情況:select select * * from from 基本情況基本情況 wherewhere專業(yè)專業(yè)= = 物理物理 vb.net程序設計教程程序設計教程7 7selectselect語句語句- -輸出表達式輸出表達式目標表達式為查詢結果要顯示的字段清單目標表達式為查詢結果要顯示的字段清單(字段字段間用逗號分開間用逗號分開)。數據的顯示順序由字段清單的。數據的顯示順序由字段清單的順序決定。順序決定。 可用星號可用星號*代表所有字段;代表所有字段; 可用可用as短語指定字段別名;短語指定字段別名; 可

7、通過構造表達式對原始數據進行復雜的運算可通過構造表達式對原始數據進行復雜的運算處理,產生查詢結果。處理,產生查詢結果。例如,例如,根據出生年月計算每個學生的年齡根據出生年月計算每個學生的年齡select 姓名姓名, (year(date()-year(出生年月出生年月) as 年齡年齡 from 基本情況基本情況 vb.net程序設計教程程序設計教程8 8selectselect語句語句- -查詢條件查詢條件wherewhere子句用于限制記錄的選擇子句用于限制記錄的選擇例如例如,查詢,查詢1985-01-01到到1986-12-31之間出生的學生:之間出生的學生:select * from

8、基本情況基本情況 where 出生年月出生年月 between #1985-01-01# and #1986-12-31#要枚舉出若干項進行查詢,使用運算符要枚舉出若干項進行查詢,使用運算符in例如例如,查詢物理系和數學系的學生數據:,查詢物理系和數學系的學生數據:select * from 基本情況基本情況 where 專業(yè)專業(yè) in (物理物理, 數學數學) 等價于:等價于:select * from 基本情況基本情況 where專業(yè)專業(yè)= 物理物理 or 專業(yè)專業(yè) = 數學數學 vb.net程序設計教程程序設計教程9 9selectselect語句語句- -合計函數合計函數合計函數用于對

9、記錄集進行統(tǒng)計合計函數用于對記錄集進行統(tǒng)計返回指定字段中的最小值返回指定字段中的最小值minmin返回指定字段中的最大值返回指定字段中的最大值maxmax返回特定字段中所有值的總和返回特定字段中所有值的總和sumsum返回選定記錄的個數返回選定記錄的個數countcount獲得特定字段中的值的平均數獲得特定字段中的值的平均數avgavg描描 述述合計函數合計函數例如,統(tǒng)計物理系學生的人數:例如,統(tǒng)計物理系學生的人數:select count(*) as 學生人數學生人數 from 基本情況基本情況 where專業(yè)專業(yè)= “物理物理”count(count(* *) ) 在統(tǒng)計時包含值為空值的記

10、錄在統(tǒng)計時包含值為空值的記錄count(count(表達式表達式) ) 統(tǒng)計時忽略表達式值為空值的記錄統(tǒng)計時忽略表達式值為空值的記錄 vb.net程序設計教程程序設計教程1010selectselect語句語句- -分組分組group by子句將指定字段列表中有相同值的子句將指定字段列表中有相同值的記錄合并成一條記錄。記錄合并成一條記錄。例如,例如,計算每個學生各門課程平均分:計算每個學生各門課程平均分:select 學號學號, avg(成績成績) as 平均分平均分from 成績表成績表 group by 學號學號要對分組后的數據進行過濾,可在要對分組后的數據進行過濾,可在group by子

11、句后結合子句后結合having子句在分組中選擇。子句在分組中選擇。例如,例如,查詢平均分在查詢平均分在8080分以上的學生:分以上的學生:select 學號學號, avg(成績成績) as 平均分平均分from 成績表成績表 group by 學號學號having avg(成績成績)=80 vb.net程序設計教程程序設計教程1111selectselect語句語句- -排序排序order by子句決定了查詢結果的排列順序子句決定了查詢結果的排列順序在在order by子句中,可以指定一個或多個字子句中,可以指定一個或多個字段作為排序關鍵字,段作為排序關鍵字,asc選項代表升序,選項代表升序,

12、desc代表降序。代表降序。 vb.net程序設計教程程序設計教程1212selectselect語句語句- -多表連接多表連接若查詢的數據分布在多個表中,則必須建立連接若查詢的數據分布在多個表中,則必須建立連接查詢:查詢:select目標表達式列表目標表達式列表 from 表表1, 表表2 where 表表1.字段字段 = 表表2.字段字段例如,學生成績表中只有學號,如何在查看學生例如,學生成績表中只有學號,如何在查看學生成績的同時能夠直觀地看到學生姓名?這就要在成績的同時能夠直觀地看到學生姓名?這就要在兩表之間建立連接。兩表之間建立連接。sql語句如下:語句如下:select基本情況基本情

13、況.姓名姓名, 成績表成績表.* from 基本情基本情況況, 成績表成績表 where成績表成績表.學號學號=基本情況基本情況.學號學號 vb.net程序設計教程程序設計教程1313vb.net數據庫訪問數據庫訪問 11.2.1 vb.net數據庫訪問過程數據庫訪問過程 數據庫應用程序引例數據庫應用程序引例例例11.1 設計一個窗體,用設計一個窗體,用datagrid控件顯示控件顯示student.mdb數據庫中數據庫中“基本情況基本情況”表的內表的內容。容。 vb.net程序設計教程程序設計教程141411.2.1 數據庫訪問過程數據庫訪問過程 vb.net采用采用ado(activex

14、data objects)數據數據訪問技術,編寫本程序,需要完成以下工作:訪問技術,編寫本程序,需要完成以下工作: 界面設計界面設計 在窗體上添加在窗體上添加datagrid控件控件 創(chuàng)建對象連接創(chuàng)建對象連接 綁定數據到綁定數據到datagrid控件使其能顯示在窗體控件使其能顯示在窗體上。上。 程序代碼程序代碼 vb.net程序設計教程程序設計教程1515 vb.net vb.net數據庫訪問過程數據庫訪問過程 應用程序通過連接對象與服務器上的數據源應用程序通過連接對象與服務器上的數據源建立連接建立連接( (不同類型的數據庫使用各自的連接提不同類型的數據庫使用各自的連接提供程序供程序) ) v

15、b.net程序設計教程程序設計教程1616 數據訪問過程數據訪問過程 命令對象發(fā)出命令對象發(fā)出sql命令從數據源中獲取數據命令從數據源中獲取數據 數據集對象用來保存所查詢到的數據記錄數據集對象用來保存所查詢到的數據記錄 數據適配器用于在數據源和數據集之間交換數據適配器用于在數據源和數據集之間交換數據。數據。 當數據傳輸到當數據傳輸到客戶端后,客戶端后,ado.net斷開與斷開與數數據源的連接,應用程序據源的連接,應用程序離線工作離線工作如果如果應用程序改變了數據集的內容應用程序改變了數據集的內容,通過重新,通過重新連接來提交變化連接來提交變化。 vb.net程序設計教程程序設計教程1717數據

16、集數據集 數據集是一個容器,一個數據集可以包含多張數數據集是一個容器,一個數據集可以包含多張數據表及數據表之間的關系,這些表可以來自多個據表及數據表之間的關系,這些表可以來自多個數據庫或電子表格之類的非數據庫源。一旦數據數據庫或電子表格之類的非數據庫源。一旦數據在數據集內,則不管它的原始源是什么,都可以在數據集內,則不管它的原始源是什么,都可以使用一致的對象模型對它進行操作。使用一致的對象模型對它進行操作。在在 ado.net 中,數據傳輸的格式是中,數據傳輸的格式是 xml,是,是基于文本的標準格式,不使用二進制信息,它可基于文本的標準格式,不使用二進制信息,它可以通過任何協(xié)議發(fā)送。以通過任

17、何協(xié)議發(fā)送。ado.net 自動根據需要自動根據需要將數據轉換為將數據轉換為 xml 或從或從 xml 轉換出數據,而轉換出數據,而用戶不必知道用戶不必知道 xml 。 vb.net程序設計教程程序設計教程181811.2.2 使用數據控件訪問數據庫使用數據控件訪問數據庫 ado.net數據控件對象有數據控件對象有4套:套: 用于用于 sql server 7.0(以以sql為為前導名前導名) 用于用于oracle數據庫數據庫(以以orc為前為前導名導名)用于用于odbc 數據源數據源(以以odbc為為前導名前導名)用于用于ole db 接口的數據庫接口的數據庫(以以oledb為前導名為前導名

18、) vb.net程序設計教程程序設計教程1919使用使用oledboledb數據控件數據控件oledb數據控件對象是一個通用對象,可訪問目數據控件對象是一個通用對象,可訪問目前流行的數據庫系統(tǒng)前流行的數據庫系統(tǒng) 數據對象名稱數據對象名稱功能描述功能描述oledbconnection建立一個與數據源的連接建立一個與數據源的連接oledbcommand用于執(zhí)行一條用于執(zhí)行一條sql語句,以便從數據源中語句,以便從數據源中獲取數據獲取數據oledbdatareader提供從數據源讀取數據行的接口,需要與提供從數據源讀取數據行的接口,需要與oledbcommand配合使用配合使用oledbdataad

19、apter 在與數據源連接時,可從數據源讀數據填在與數據源連接時,可從數據源讀數據填充充dataset或更新數據源或更新數據源dataset是保存在內存中供使用的數據副本是保存在內存中供使用的數據副本 vb.net程序設計教程程序設計教程2020使用使用oledboledb訪問數據庫訪問數據庫1啟動數據適配器配置向導啟動數據適配器配置向導將數據適配器對象將數據適配器對象oledbdataadapter從工具箱拖從工具箱拖放到窗體或組件上。放到窗體或組件上。2創(chuàng)建連接創(chuàng)建連接 vb.net程序設計教程程序設計教程2121選擇提供程序選擇提供程序選擇提供程序選擇提供程序 vb.net程序設計教程程

20、序設計教程2222指定訪問的數據庫指定訪問的數據庫指定要訪問的指定要訪問的數據庫文件數據庫文件 vb.net程序設計教程程序設計教程2323配置命令對象配置命令對象選擇使用選擇使用sql sql 語句建立查詢語句建立查詢 vb.net程序設計教程程序設計教程2424命令對象重要屬性命令對象重要屬性命令對象最重要的屬性命令對象最重要的屬性connection 指定連接對象指定連接對象commandtype 使用命令的類型使用命令的類型commandtext 操作命令的操作命令的內容內容 vb.net程序設計教程程序設計教程2525連接對象重要屬性連接對象重要屬性連接對象最重要的屬性是連接對象最重

21、要的屬性是connectionstring,它是,它是一個字符串,包含了用于與數據源建立連接的相一個字符串,包含了用于與數據源建立連接的相關信息。典型的關信息。典型的 connectionstring 屬性值如下:屬性值如下:provider = microsoft.jet.oledb.4.0; provider = microsoft.jet.oledb.4.0; data source = student.mdbdata source = student.mdbprovide,指定連接提供程序的名稱;,指定連接提供程序的名稱;data source,用于指定要連接的數據源文件。,用于指定要

22、連接的數據源文件。 vb.net程序設計教程程序設計教程2626生成數據集生成數據集 選擇選擇“數數據據| |生生成數據集成數據集”命令,打開命令,打開“生成數生成數據集據集”對話框。對話框。12. 命名數據集命名數據集 34 vb.net程序設計教程程序設計教程2727生成數據集生成數據集 選擇選擇“數數據據| |生生成數據集成數據集”命令,打開命令,打開“生成數生成數據集據集”對話框。對話框。12. 命名數據集命名數據集 34注意:這里的注意:這里的dataset1是指一個數據集的定是指一個數據集的定義,它是一個用義,它是一個用xml格式表示的,文件名為格式表示的,文件名為dataset1

23、.xsd的數據集定義文件,并不包含的數據集定義文件,并不包含任何的數據庫中的數據。而按此文件架構產任何的數據庫中的數據。而按此文件架構產生的生的dataset11才是一個包含實際數據的數才是一個包含實際數據的數據集對象實例。據集對象實例。 vb.net程序設計教程程序設計教程282811.2.3 數據綁定數據綁定 什么是數據綁定?什么是數據綁定?數據綁定是一個過程,即在運行時自動為與數據數據綁定是一個過程,即在運行時自動為與數據集中的元素關聯的控件設置屬性。以便通過控件集中的元素關聯的控件設置屬性。以便通過控件顯示數據集中的數據。顯示數據集中的數據。 vb.net程序設計教程程序設計教程292

24、9數據綁定數據綁定 windows 窗體有簡單數據綁定和復雜數據綁定窗體有簡單數據綁定和復雜數據綁定簡單數據綁定簡單數據綁定簡單數據綁定就是將控件綁定到單個數據字段。簡單數據綁定就是將控件綁定到單個數據字段。每個控件僅顯示數據集中的一個字段值。最常用每個控件僅顯示數據集中的一個字段值。最常用的簡單數據綁定是將數據綁定到文本框和標簽。的簡單數據綁定是將數據綁定到文本框和標簽。要建立數據綁定,需要在設計或運行時對控件的要建立數據綁定,需要在設計或運行時對控件的databindingdatabinding屬性進行設置。屬性進行設置。 vb.net程序設計教程程序設計教程3030簡單數據綁定簡單數據綁

25、定 例例11.2 數據綁定的操作過程數據綁定的操作過程 界面設計界面設計 創(chuàng)建和配置數據集創(chuàng)建和配置數據集 設置設置綁定屬性綁定屬性 程序代碼程序代碼private sub form1_load() handles mybase.loaddataset11.clear()oledbdataadapter1.fill(dataset11, 基本情況基本情況)end sub vb.net程序設計教程程序設計教程3131簡單數據綁定簡單數據綁定 使用使用bindingcontextbindingcontext 對象瀏覽數據記錄對象瀏覽數據記錄position 屬性屬性 數據集當數據集當前記錄的前記錄

26、的位置序號位置序號count 屬性屬性 數據表中的記錄條數數據表中的記錄條數 轉跳到第一條記錄轉跳到第一條記錄me.bindingcontext(dataset11, me.bindingcontext(dataset11, 基本情況基本情況).position = 0).position = 0轉跳到上一條記錄轉跳到上一條記錄me.bindingcontext(dataset11, me.bindingcontext(dataset11, 基本情況基本情況).position -= 1 ).position -= 1 轉跳到下一條記錄轉跳到下一條記錄me.bindingcontext(dat

27、aset11, me.bindingcontext(dataset11, 基本情況基本情況).position += 1).position += 1 最后一條記錄的最后一條記錄的position position 屬性值等于屬性值等于count count 屬性值屬性值-1 -1 vb.net程序設計教程程序設計教程3232復雜數據綁定復雜數據綁定 復雜數據綁定允許將多個數據元素綁定到一個控復雜數據綁定允許將多個數據元素綁定到一個控件,同時顯示記錄源中的多行或多列。支持復雜件,同時顯示記錄源中的多行或多列。支持復雜數據綁定的控件:數據網格數據綁定的控件:數據網格datagriddatagri

28、d、組合框、組合框comboboxcombobox和列表框和列表框listboxlistbox等等 vb.net程序設計教程程序設計教程3333復雜數據綁定復雜數據綁定 復雜數據綁定復雜數據綁定屬屬 性設置性設置控控 件件屬屬 性性說說 明明 datagriddatasource指定數據源指定數據源, ,例如例如datasetdatamember若若dataset包含的表不止一個,包含的表不止一個,則由該屬性指定要綁定的表則由該屬性指定要綁定的表comboboxlistboxdatasource指定數據源指定數據源displaymember顯示的字段顯示的字段valuemember組合框、列表

29、框中選擇后的值組合框、列表框中選擇后的值 vb.net程序設計教程程序設計教程3434復雜數據綁定復雜數據綁定 例例11.3復雜數據綁定的操作過程復雜數據綁定的操作過程 界面設計界面設計 創(chuàng)建和配置數據集創(chuàng)建和配置數據集 數據綁定數據綁定 本例本例datagrid控件要綁定不同的控件要綁定不同的表,故需要通過表,故需要通過代碼代碼設置控件的設置控件的datasource 屬性。屬性。 程序代碼程序代碼 private sub button1_click() handles button1.clickdatagrid1.datasource = datagrid1.datasource = da

30、taset11.tablesdataset11.tables(基本情況基本情況)end subprivate sub button2_click() handles button2.clickdatagrid1.datasource = datagrid1.datasource = dataset11.tablesdataset11.tables(成績表成績表)end sub vb.net程序設計教程程序設計教程353511.2.3 使用代碼訪問數據庫使用代碼訪問數據庫 創(chuàng)建數據對象的代碼:創(chuàng)建數據對象的代碼:dim dim 數據對象數據對象 as new as new 對象類對象類(參數參數

31、) 例例11.4 用代碼實現例用代碼實現例11.2的功能的功能 界面設計界面設計 導入導入ado.net名稱空間名稱空間imports system.dataimports system.data.oledb vb.net程序設計教程程序設計教程3636創(chuàng)建對象創(chuàng)建對象 創(chuàng)建創(chuàng)建oledbconnection連接對象連接對象創(chuàng)建連接創(chuàng)建連接student.mdb的對象的對象objconn,代碼:,代碼:dim strconn as string = provider = microsoft. jet.oledb.4.0; data source = student.mdbdim objconn

32、 as new oledbconnection(strconn) objconn.open() 創(chuàng)建創(chuàng)建創(chuàng)建創(chuàng)建oledbdataadapter對象對象dim strsql = select * from 基本情況基本情況 dim objadap as new oledbdataadapter(strsql, objconn) vb.net程序設計教程程序設計教程3737創(chuàng)建對象創(chuàng)建對象 創(chuàng)建數據集對象創(chuàng)建數據集對象dim objdset as new datasetdim objdset as new dataset用數據集的用數據集的“基本情況基本情況”表填充表填充objdsetobjds

33、et對象對象 objadap.fillobjadap.fill(objdset, 基本情況基本情況) vb.net程序設計教程程序設計教程3838使用代碼綁定數據使用代碼綁定數據實現實現數據綁定數據綁定 使用使用控件的控件的databindingsdatabindings屬性屬性的的addadd方法建立方法建立綁定:綁定:控件對象控件對象.databindings.add(new binding(控控件屬性件屬性, 數據集數據集, 字段名字段名)例例 將字段姓名綁定到控件將字段姓名綁定到控件textbox1的的text 屬性:屬性:textbox1.databindings.add(new b

34、inding(text, objdset, 基本情況基本情況.姓名姓名) vb.net程序設計教程程序設計教程3939記錄的瀏覽記錄的瀏覽 瀏覽記錄,各命令按鈕的瀏覽記錄,各命令按鈕的click 事件代碼為:事件代碼為:首記錄:首記錄:me.bindingcontext(objdset, 基本情況基本情況).position = 0上一條:上一條:me.bindingcontext(objdset, 基本情況基本情況).position -= 1下一條:下一條:me.bindingcontext(objdset, 基本情況基本情況).position += 1尾記錄:尾記錄:me.bindin

35、gcontext(objdset, 基本情況基本情況).position = me.bindingcontext (objdset, 基本情況基本情況).count-1 vb.net程序設計教程程序設計教程404011.3 數據庫操作數據庫操作 11.3.1 數據庫編輯操作數據庫編輯操作常見的編輯操作就是對數據的增、刪、改。使用常見的編輯操作就是對數據的增、刪、改。使用命令對象直接對數據源進行操作,方法如下:命令對象直接對數據源進行操作,方法如下: commandtext屬性屬性 設置設置sql語句語句 調用調用execute方法方法 執(zhí)行執(zhí)行sql語句語句 executereader 返回返

36、回datareader結果集結果集 executenonquery 不返回數據的不返回數據的sql命令命令(增、刪、改增、刪、改) executescalar 返回單個數據的返回單個數據的sql命命令令(例對數據的統(tǒng)計、求和例對數據的統(tǒng)計、求和) vb.net程序設計教程程序設計教程4141增加數據記錄增加數據記錄使用使用insert語句插入一條記錄到數據源語句插入一條記錄到數據源。例如:。例如:insert into 基本情況基本情況(姓名姓名, 學號學號) values (李力李力, 50101)實際參數可通過文本框輸入,可在實際參數可通過文本框輸入,可在values短語中短語中使用使用標

37、記傳遞實參值標記傳遞實參值:insert into insert into 基本情況基本情況(姓名姓名, , 學號學號) values values (name, num)而參數定義的語法為:而參數定義的語法為:dim 參數名參數名 as new oledbparameter(sql查詢或查詢或更新字符串中的映射名更新字符串中的映射名,數據類型數據類型,長度長度) vb.net程序設計教程程序設計教程4242增加數據記錄例增加數據記錄例例例11.5 在例在例11.4的基礎上添加增加記錄、刪除記的基礎上添加增加記錄、刪除記錄、修改記錄按鈕,當單擊錄、修改記錄按鈕,當單擊“增加增加”按鈕時,先按鈕

38、時,先清空文本框,并將按鈕提示改變成清空文本框,并將按鈕提示改變成“確認確認”;當;當在文本框輸入數據后,再單擊在文本框輸入數據后,再單擊“確認確認”,將文本,將文本框內輸入的數據構成一條記錄插入到數據源、重框內輸入的數據構成一條記錄插入到數據源、重新填充數據集并恢復按鈕提示。新填充數據集并恢復按鈕提示。 代碼說明代碼說明 vb.net程序設計教程程序設計教程4343刪除數據源內的記錄刪除數據源內的記錄 刪除刪除數據源數據源內的記錄內的記錄使用使用delect語句語句delectdelect 基本情況基本情況 where where 學號學號 = 50102= 50102實參實參50102通過

39、文本框輸入。要用輸入值構成刪通過文本框輸入。要用輸入值構成刪除條件,除了采用參數傳遞方法外,也可用字符除條件,除了采用參數傳遞方法外,也可用字符連接運算符拼接變量形成條件,例如連接運算符拼接變量形成條件,例如:delect 基本情況基本情況 where 學號學號 = & textbox2.text 注意:如果字段的類型為字符型,則輸入值的兩注意:如果字段的類型為字符型,則輸入值的兩側加上單引號側加上單引號:delect 基本情況基本情況 where 學號學號 = & textbox2.text & 字段的類型為日期型,將單引號改為字段的類型為日期型,將單引號改為# #

40、vb.net程序設計教程程序設計教程4444刪除數據記錄刪除數據記錄 刪除數據集內的行使用刪除數據集內的行使用rows對象的對象的delete方法方法例:刪除例:刪除tables(“基本情況基本情況”)中的第三條記錄:中的第三條記錄:objdset.tables (基本情況基本情況 ).rows (2).deletedelete方法并不真正實現刪除,而只是在方法并不真正實現刪除,而只是在rows集合中對指定的行作刪除標記,直到數據集對象集合中對指定的行作刪除標記,直到數據集對象調用調用acceptchanges方法的時候,才真正被刪除;方法的時候,才真正被刪除;如果是如果是rejectchan

41、ges方法被調用,那么方法被調用,那么delete方法刪除的數據行對象將被恢復。方法刪除的數據行對象將被恢復。例例11.6 為例為例11.5中刪除按鈕添加代碼。中刪除按鈕添加代碼。 代碼說明代碼說明 vb.net程序設計教程程序設計教程4545修改數據記錄修改數據記錄 修改修改數據源數據源中的記錄使用中的記錄使用updateupdate語句語句update update 基本情況基本情況 setset 專業(yè)專業(yè)= 計算機計算機 where 學號學號 = 50102修改程序編寫與增加記錄類似,其關鍵是:修改程序編寫與增加記錄類似,其關鍵是: 使用參數傳遞或字符動態(tài)拼接的方法將新的使用參數傳遞或字

42、符動態(tài)拼接的方法將新的數據傳遞到數據傳遞到update 語句語句 能在數據源中定位要更新的記錄能在數據源中定位要更新的記錄( (通??墒褂猛ǔ?墒褂藐P鍵字段作為定位條件關鍵字段作為定位條件) )對于對于數據集數據集,數據綁定結構通常是雙向的,能自,數據綁定結構通常是雙向的,能自動將更改從數據綁定控件發(fā)送到數據集。動將更改從數據綁定控件發(fā)送到數據集。例例11.7 為修改按鈕添加代碼為修改按鈕添加代碼 代碼說明代碼說明 vb.net程序設計教程程序設計教程464611.3.2 數據庫查詢操作數據庫查詢操作 方法一方法一 通過命令對象執(zhí)行通過命令對象執(zhí)行sql語句,從數語句,從數據源中獲取信息,查詢

43、條件由據源中獲取信息,查詢條件由select語句的語句的where短語構成,使用短語構成,使用and與與or邏輯運算符組邏輯運算符組合出復雜的查詢條件合出復雜的查詢條件 方法二方法二 使用數據集的數據視圖使用數據集的數據視圖(dataview)的篩選功能的篩選功能 vb.net程序設計教程程序設計教程4747數據庫查詢操作數據庫查詢操作 數據視圖數據視圖(dataview)的的主要方法與屬性主要方法與屬性 方法與屬性方法與屬性功能描述功能描述使用示例使用示例sort方法方法對對dataview包含包含的數據進行排序的數據進行排序objdataview.sort =姓名姓名find方法方法搜索指

44、定的數據搜索指定的數據行行(必須先排序必須先排序)rec=objdataview.find(李力李力)rowfilter屬性屬性篩選滿足條件的篩選滿足條件的數據行數據行objdataview.rowfilter = 成績成績80 vb.net程序設計教程程序設計教程4848模糊查詢模糊查詢 模糊查詢使用運算符模糊查詢使用運算符likelike,用百分號,用百分號%來代替任來代替任意個不確定的內容,用下劃線意個不確定的內容,用下劃線_ _代替一個不確定的代替一個不確定的內容。內容。例如,例如,“姓名姓名 like 張張%”將查詢所有張姓的人員,將查詢所有張姓的人員,而而“姓名姓名 like 張張_” 查詢以查詢以“張張”開頭,只有兩開頭,只有兩個字的記錄。個字的記錄。例例11.8 設計一個應用程序,演示不同的查詢功能設計一個應用程序,演示不同的

溫馨提示

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

評論

0/150

提交評論