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

下載本文檔

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

文檔簡(jiǎn)介

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

2、享,與應(yīng)用程序彼此獨(dú)立的一組數(shù)據(jù)的集合。visual basic支持多種類(lèi)型的數(shù)據(jù)庫(kù),如支持多種類(lèi)型的數(shù)據(jù)庫(kù),如access數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)、foxpro數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)、microsoft excel、sql server和和oracle等。等。 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程3 3.1關(guān)系型數(shù)據(jù)庫(kù)模型 關(guān)系型數(shù)據(jù)庫(kù)模型將數(shù)據(jù)用表的集合來(lái)表示。通關(guān)系型數(shù)據(jù)庫(kù)模型將數(shù)據(jù)用表的集合來(lái)表示。通過(guò)建立簡(jiǎn)單表之間的關(guān)系來(lái)定義結(jié)構(gòu),而不是根過(guò)建立簡(jiǎn)單表之間的關(guān)系來(lái)定義結(jié)構(gòu),而不是根據(jù)數(shù)據(jù)的物理存儲(chǔ)方式建立數(shù)據(jù)中的關(guān)系。不管據(jù)數(shù)據(jù)的物理存儲(chǔ)方式建立數(shù)據(jù)中的關(guān)系。不管表在數(shù)據(jù)庫(kù)文件中的

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

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

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

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

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

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

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

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

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

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

13、況.姓名姓名, 成績(jī)表成績(jī)表.* from 基本情基本情況況, 成績(jī)表成績(jī)表 where成績(jī)表成績(jī)表.學(xué)號(hào)學(xué)號(hào)=基本情況基本情況.學(xué)號(hào)學(xué)號(hào) vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程1313vb.net數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù)訪問(wèn) 11.2.1 vb.net數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程 數(shù)據(jù)庫(kù)應(yīng)用程序引例數(shù)據(jù)庫(kù)應(yīng)用程序引例例例11.1 設(shè)計(jì)一個(gè)窗體,用設(shè)計(jì)一個(gè)窗體,用datagrid控件顯示控件顯示student.mdb數(shù)據(jù)庫(kù)中數(shù)據(jù)庫(kù)中“基本情況基本情況”表的內(nèi)表的內(nèi)容。容。 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程141411.2.1 數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程 vb.net采用采用ado(activex

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

15、b.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程1616 數(shù)據(jù)訪問(wèn)過(guò)程數(shù)據(jù)訪問(wèn)過(guò)程 命令對(duì)象發(fā)出命令對(duì)象發(fā)出sql命令從數(shù)據(jù)源中獲取數(shù)據(jù)命令從數(shù)據(jù)源中獲取數(shù)據(jù) 數(shù)據(jù)集對(duì)象用來(lái)保存所查詢到的數(shù)據(jù)記錄數(shù)據(jù)集對(duì)象用來(lái)保存所查詢到的數(shù)據(jù)記錄 數(shù)據(jù)適配器用于在數(shù)據(jù)源和數(shù)據(jù)集之間交換數(shù)據(jù)適配器用于在數(shù)據(jù)源和數(shù)據(jù)集之間交換數(shù)據(jù)。數(shù)據(jù)。 當(dāng)數(shù)據(jù)傳輸?shù)疆?dāng)數(shù)據(jù)傳輸?shù)娇蛻舳撕?,客戶端后,ado.net斷開(kāi)與斷開(kāi)與數(shù)數(shù)據(jù)源的連接,應(yīng)用程序據(jù)源的連接,應(yīng)用程序離線工作離線工作如果如果應(yīng)用程序改變了數(shù)據(jù)集的內(nèi)容應(yīng)用程序改變了數(shù)據(jù)集的內(nèi)容,通過(guò)重新,通過(guò)重新連接來(lái)提交變化連接來(lái)提交變化。 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程1717數(shù)據(jù)

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

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

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

19、apter 在與數(shù)據(jù)源連接時(shí),可從數(shù)據(jù)源讀數(shù)據(jù)填在與數(shù)據(jù)源連接時(shí),可從數(shù)據(jù)源讀數(shù)據(jù)填充充dataset或更新數(shù)據(jù)源或更新數(shù)據(jù)源dataset是保存在內(nèi)存中供使用的數(shù)據(jù)副本是保存在內(nèi)存中供使用的數(shù)據(jù)副本 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程2020使用使用oledboledb訪問(wèn)數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù)1啟動(dòng)數(shù)據(jù)適配器配置向?qū)?dòng)數(shù)據(jù)適配器配置向?qū)?shù)據(jù)適配器對(duì)象將數(shù)據(jù)適配器對(duì)象oledbdataadapter從工具箱拖從工具箱拖放到窗體或組件上。放到窗體或組件上。2創(chuàng)建連接創(chuàng)建連接 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程2121選擇提供程序選擇提供程序選擇提供程序選擇提供程序 vb.net程序設(shè)計(jì)教程程

20、序設(shè)計(jì)教程2222指定訪問(wèn)的數(shù)據(jù)庫(kù)指定訪問(wèn)的數(shù)據(jù)庫(kù)指定要訪問(wèn)的指定要訪問(wèn)的數(shù)據(jù)庫(kù)文件數(shù)據(jù)庫(kù)文件 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程2323配置命令對(duì)象配置命令對(duì)象選擇使用選擇使用sql sql 語(yǔ)句建立查詢語(yǔ)句建立查詢 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程2424命令對(duì)象重要屬性命令對(duì)象重要屬性命令對(duì)象最重要的屬性命令對(duì)象最重要的屬性connection 指定連接對(duì)象指定連接對(duì)象commandtype 使用命令的類(lèi)型使用命令的類(lèi)型commandtext 操作命令的操作命令的內(nèi)容內(nèi)容 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程2525連接對(duì)象重要屬性連接對(duì)象重要屬性連接對(duì)象最重要的屬性是連接對(duì)象最重

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

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

23、.xsd的數(shù)據(jù)集定義文件,并不包含的數(shù)據(jù)集定義文件,并不包含任何的數(shù)據(jù)庫(kù)中的數(shù)據(jù)。而按此文件架構(gòu)產(chǎn)任何的數(shù)據(jù)庫(kù)中的數(shù)據(jù)。而按此文件架構(gòu)產(chǎn)生的生的dataset11才是一個(gè)包含實(shí)際數(shù)據(jù)的數(shù)才是一個(gè)包含實(shí)際數(shù)據(jù)的數(shù)據(jù)集對(duì)象實(shí)例。據(jù)集對(duì)象實(shí)例。 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程282811.2.3 數(shù)據(jù)綁定數(shù)據(jù)綁定 什么是數(shù)據(jù)綁定?什么是數(shù)據(jù)綁定?數(shù)據(jù)綁定是一個(gè)過(guò)程,即在運(yùn)行時(shí)自動(dòng)為與數(shù)據(jù)數(shù)據(jù)綁定是一個(gè)過(guò)程,即在運(yùn)行時(shí)自動(dòng)為與數(shù)據(jù)集中的元素關(guān)聯(lián)的控件設(shè)置屬性。以便通過(guò)控件集中的元素關(guān)聯(lián)的控件設(shè)置屬性。以便通過(guò)控件顯示數(shù)據(jù)集中的數(shù)據(jù)。顯示數(shù)據(jù)集中的數(shù)據(jù)。 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程292

24、9數(shù)據(jù)綁定數(shù)據(jù)綁定 windows 窗體有簡(jiǎn)單數(shù)據(jù)綁定和復(fù)雜數(shù)據(jù)綁定窗體有簡(jiǎn)單數(shù)據(jù)綁定和復(fù)雜數(shù)據(jù)綁定簡(jiǎn)單數(shù)據(jù)綁定簡(jiǎn)單數(shù)據(jù)綁定簡(jiǎn)單數(shù)據(jù)綁定就是將控件綁定到單個(gè)數(shù)據(jù)字段。簡(jiǎn)單數(shù)據(jù)綁定就是將控件綁定到單個(gè)數(shù)據(jù)字段。每個(gè)控件僅顯示數(shù)據(jù)集中的一個(gè)字段值。最常用每個(gè)控件僅顯示數(shù)據(jù)集中的一個(gè)字段值。最常用的簡(jiǎn)單數(shù)據(jù)綁定是將數(shù)據(jù)綁定到文本框和標(biāo)簽。的簡(jiǎn)單數(shù)據(jù)綁定是將數(shù)據(jù)綁定到文本框和標(biāo)簽。要建立數(shù)據(jù)綁定,需要在設(shè)計(jì)或運(yùn)行時(shí)對(duì)控件的要建立數(shù)據(jù)綁定,需要在設(shè)計(jì)或運(yùn)行時(shí)對(duì)控件的databindingdatabinding屬性進(jìn)行設(shè)置。屬性進(jìn)行設(shè)置。 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程3030簡(jiǎn)單數(shù)據(jù)綁定簡(jiǎn)單數(shù)據(jù)綁

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

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

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

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

29、框中選擇后的值組合框、列表框中選擇后的值 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程3434復(fù)雜數(shù)據(jù)綁定復(fù)雜數(shù)據(jù)綁定 例例11.3復(fù)雜數(shù)據(jù)綁定的操作過(guò)程復(fù)雜數(shù)據(jù)綁定的操作過(guò)程 界面設(shè)計(jì)界面設(shè)計(jì) 創(chuàng)建和配置數(shù)據(jù)集創(chuàng)建和配置數(shù)據(jù)集 數(shù)據(jù)綁定數(shù)據(jù)綁定 本例本例datagrid控件要綁定不同的控件要綁定不同的表,故需要通過(guò)表,故需要通過(guò)代碼代碼設(shè)置控件的設(shè)置控件的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(成績(jī)表成績(jī)表)end sub vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程353511.2.3 使用代碼訪問(wèn)數(shù)據(jù)庫(kù)使用代碼訪問(wèn)數(shù)據(jù)庫(kù) 創(chuàng)建數(shù)據(jù)對(duì)象的代碼:創(chuàng)建數(shù)據(jù)對(duì)象的代碼:dim dim 數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象 as new as new 對(duì)象類(lèi)對(duì)象類(lèi)(參數(shù)參數(shù)

31、) 例例11.4 用代碼實(shí)現(xiàn)例用代碼實(shí)現(xiàn)例11.2的功能的功能 界面設(shè)計(jì)界面設(shè)計(jì) 導(dǎo)入導(dǎo)入ado.net名稱空間名稱空間imports system.dataimports system.data.oledb vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程3636創(chuàng)建對(duì)象創(chuàng)建對(duì)象 創(chuàng)建創(chuàng)建oledbconnection連接對(duì)象連接對(duì)象創(chuàng)建連接創(chuàng)建連接student.mdb的對(duì)象的對(duì)象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對(duì)象對(duì)象dim strsql = select * from 基本情況基本情況 dim objadap as new oledbdataadapter(strsql, objconn) vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程3737創(chuàng)建對(duì)象創(chuàng)建對(duì)象 創(chuàng)建數(shù)據(jù)集對(duì)象創(chuàng)建數(shù)據(jù)集對(duì)象dim objdset as new datasetdim objdset as new dataset用數(shù)據(jù)集的用數(shù)據(jù)集的“基本情況基本情況”表填充表填充objdsetobjds

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

34、inding(text, objdset, 基本情況基本情況.姓名姓名) vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程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程序設(shè)計(jì)教程程序設(shè)計(jì)教程404011.3 數(shù)據(jù)庫(kù)操作數(shù)據(jù)庫(kù)操作 11.3.1 數(shù)據(jù)庫(kù)編輯操作數(shù)據(jù)庫(kù)編輯操作常見(jiàn)的編輯操作就是對(duì)數(shù)據(jù)的增、刪、改。使用常見(jiàn)的編輯操作就是對(duì)數(shù)據(jù)的增、刪、改。使用命令對(duì)象直接對(duì)數(shù)據(jù)源進(jìn)行操作,方法如下:命令對(duì)象直接對(duì)數(shù)據(jù)源進(jìn)行操作,方法如下: commandtext屬性屬性 設(shè)置設(shè)置sql語(yǔ)句語(yǔ)句 調(diào)用調(diào)用execute方法方法 執(zhí)行執(zhí)行sql語(yǔ)句語(yǔ)句 executereader 返回返

36、回datareader結(jié)果集結(jié)果集 executenonquery 不返回?cái)?shù)據(jù)的不返回?cái)?shù)據(jù)的sql命令命令(增、刪、改增、刪、改) executescalar 返回單個(gè)數(shù)據(jù)的返回單個(gè)數(shù)據(jù)的sql命命令令(例對(duì)數(shù)據(jù)的統(tǒng)計(jì)、求和例對(duì)數(shù)據(jù)的統(tǒng)計(jì)、求和) vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程4141增加數(shù)據(jù)記錄增加數(shù)據(jù)記錄使用使用insert語(yǔ)句插入一條記錄到數(shù)據(jù)源語(yǔ)句插入一條記錄到數(shù)據(jù)源。例如:。例如:insert into 基本情況基本情況(姓名姓名, 學(xué)號(hào)學(xué)號(hào)) values (李力李力, 50101)實(shí)際參數(shù)可通過(guò)文本框輸入,可在實(shí)際參數(shù)可通過(guò)文本框輸入,可在values短語(yǔ)中短語(yǔ)中使用使用標(biāo)

37、記傳遞實(shí)參值標(biāo)記傳遞實(shí)參值:insert into insert into 基本情況基本情況(姓名姓名, , 學(xué)號(hào)學(xué)號(hào)) values values (name, num)而參數(shù)定義的語(yǔ)法為:而參數(shù)定義的語(yǔ)法為:dim 參數(shù)名參數(shù)名 as new oledbparameter(sql查詢或查詢或更新字符串中的映射名更新字符串中的映射名,數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型,長(zhǎng)度長(zhǎng)度) vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程4242增加數(shù)據(jù)記錄例增加數(shù)據(jù)記錄例例例11.5 在例在例11.4的基礎(chǔ)上添加增加記錄、刪除記的基礎(chǔ)上添加增加記錄、刪除記錄、修改記錄按鈕,當(dāng)單擊錄、修改記錄按鈕,當(dāng)單擊“增加增加”按鈕時(shí),先按鈕

38、時(shí),先清空文本框,并將按鈕提示改變成清空文本框,并將按鈕提示改變成“確認(rèn)確認(rèn)”;當(dāng);當(dāng)在文本框輸入數(shù)據(jù)后,再單擊在文本框輸入數(shù)據(jù)后,再單擊“確認(rèn)確認(rèn)”,將文本,將文本框內(nèi)輸入的數(shù)據(jù)構(gòu)成一條記錄插入到數(shù)據(jù)源、重框內(nèi)輸入的數(shù)據(jù)構(gòu)成一條記錄插入到數(shù)據(jù)源、重新填充數(shù)據(jù)集并恢復(fù)按鈕提示。新填充數(shù)據(jù)集并恢復(fù)按鈕提示。 代碼說(shuō)明代碼說(shuō)明 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程4343刪除數(shù)據(jù)源內(nèi)的記錄刪除數(shù)據(jù)源內(nèi)的記錄 刪除刪除數(shù)據(jù)源數(shù)據(jù)源內(nèi)的記錄內(nèi)的記錄使用使用delect語(yǔ)句語(yǔ)句delectdelect 基本情況基本情況 where where 學(xué)號(hào)學(xué)號(hào) = 50102= 50102實(shí)參實(shí)參50102通過(guò)

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

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

41、ges方法被調(diào)用,那么方法被調(diào)用,那么delete方法刪除的數(shù)據(jù)行對(duì)象將被恢復(fù)。方法刪除的數(shù)據(jù)行對(duì)象將被恢復(fù)。例例11.6 為例為例11.5中刪除按鈕添加代碼。中刪除按鈕添加代碼。 代碼說(shuō)明代碼說(shuō)明 vb.net程序設(shè)計(jì)教程程序設(shè)計(jì)教程4545修改數(shù)據(jù)記錄修改數(shù)據(jù)記錄 修改修改數(shù)據(jù)源數(shù)據(jù)源中的記錄使用中的記錄使用updateupdate語(yǔ)句語(yǔ)句update update 基本情況基本情況 setset 專(zhuān)業(yè)專(zhuān)業(yè)= 計(jì)算機(jī)計(jì)算機(jī) where 學(xué)號(hào)學(xué)號(hào) = 50102修改程序編寫(xiě)與增加記錄類(lèi)似,其關(guān)鍵是:修改程序編寫(xiě)與增加記錄類(lèi)似,其關(guān)鍵是: 使用參數(shù)傳遞或字符動(dòng)態(tài)拼接的方法將新的使用參數(shù)傳遞或字

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論