日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET數(shù)據(jù)集基本概念剖析

我們在這里對VB.NET中的數(shù)據(jù)集進行了一個詳細的介紹,希望大家可以通過對VB.NET數(shù)據(jù)集的掌握,進一步加深對VB.NET編程語言的了解。那么我們就一起來看看數(shù)據(jù)集的基本概念,以及定義方式等。#t#

1.基本概念

VB.NET數(shù)據(jù)集是一種離線了的緩存存儲數(shù)據(jù),它的結構和數(shù)據(jù)庫一樣,具有表格、行、列的一種層次結構,另外還包括了為數(shù)據(jù)集所定義的數(shù)據(jù)間的約束和關聯(lián)關系。

用戶可通過.NEt框架的命名空間(NameSpace)來創(chuàng)建和操作數(shù)據(jù)集。

用戶可以通過一些諸如屬性(properties)、集合(collections)這些標準的構成來了解Dataset這個概念。如:

(1)數(shù)據(jù)集(DataSet)包括數(shù)據(jù)表格的Tables這個集合以及relation的"Relations"集合。

(2)DataTable類包括了數(shù)據(jù)表格row的"Rows"集合,數(shù)據(jù)columns的"Column"集合,以及數(shù)據(jù)relation的"ChildRelations"和"ParentRelations"集合。

(3)DataRow類包括"RowState"屬性,這些值是用來顯示數(shù)據(jù)表格***從數(shù)據(jù)庫被加載后是否被修改過,這個屬性的值可以為:"Deleted"、"Modified"、"New"以及"Unchanged"。

2.定義(Type)和未定義(Untyped)的VB.NET數(shù)據(jù)集

數(shù)據(jù)集有定型的和未定型的之分,定型的數(shù)據(jù)集是基本的DataSet類的一個子類,并且含有圖表(.xsd文件),它用來描述數(shù)據(jù)集所擁有的表格的結構。這些圖表文件,包括了表的名字和列名、列所代表的數(shù)據(jù)的類型信息,以及數(shù)據(jù)間的約束關系。而一個未定型的數(shù)據(jù)集則沒有這些圖表的描述。

在程序中用戶可以使用任意兩種類型的數(shù)據(jù)集,然而,定型的數(shù)據(jù)集可以使得用戶對數(shù)據(jù)的操作更加明了,并且可以減少一些不必要的錯誤,定型的數(shù)據(jù)集可以生成一些對象模型,這些模型的***層次的類(first-class)就是數(shù)據(jù)集所包含的表和列,假設用戶正在對一個定型的數(shù)據(jù)集進行操作,則可以用如下的語法來指向一個列。

 
 
 
  1. '指向表titles***行的title_id列  
  2. s=dsPub1.titles(0).title_id 

但是如果用戶是在操作一個未定型的數(shù)據(jù)集的話,就需要這樣編寫代碼了:

 
 
 
  1. '指向表titles***行的title_id列  
  2. s=dsPubs1.Tables("titles")
    (0).Columns(title_id") 

使用定型類不但可以使代碼編制起來更加容易,而且,這種定型類的語法還為用戶提供了檢查代碼正確與否的功能,減少了在指向數(shù)據(jù)集成員值時代碼的錯誤率。

3.關系表(Related Tables)和關系對象(Related Objects)

如果VB.NET數(shù)據(jù)集中包含了多張表,這些表之間可能具有相關聯(lián)的關系,然而,數(shù)據(jù)集不象數(shù)據(jù)庫,它并沒有關于關聯(lián)關系的相關信息,所以當用戶在處理關系表的時候,可以創(chuàng)建一些關聯(lián)(relations)來描述這些在數(shù)據(jù)集中各個表之間的關聯(lián)關系。關聯(lián)關系可以通過一些代碼,人為地從父行(parent rows)到相關的子行(child rows)。或者從子行再返回到父行。

因為每個老師不可能只教一門課,所以在課程描述表和教員表之間就存在一種一對多的關系。舉一個例子,假設教師i777(李四)教2門課,則可以用數(shù)據(jù)的關聯(lián)(data relations)把一個數(shù)據(jù)表的某個特指的行指向另外一個數(shù)據(jù)表的一個列,這樣就可以在這兩個表之間雙向地進行查詢導航,例如,用戶可以從一行描述張三教師的行,瀏覽到描述它教的課這一行,反之,也可以從描述課程Science999(生物)的行瀏覽到描述教這門課的教師張三的這一行。

4.更新VB.NET數(shù)據(jù)集和數(shù)據(jù)存儲

當用戶改變數(shù)據(jù)集中的數(shù)據(jù)時,這些改變將要被重新寫回到數(shù)據(jù)庫中,類"DataRow"是用來對單獨的記錄進行操作的,其中它包括屬性"RowState",它的值是用來表示自從數(shù)據(jù)從數(shù)據(jù)庫中***次被調(diào)用以后,行是怎樣變化的,該屬性的值可以為:"Deleted"、"Modified"、"New"以及"Unchanged"。

為了把這些數(shù)據(jù)集的變化寫回到數(shù)據(jù)庫中,用戶可以調(diào)用方法"Update",這個方法將會訪問"RowState"的屬性值,并且決定怎樣對數(shù)據(jù)庫進行一系列的操作,如add,edit,delete,將都會被運行。


分享標題:VB.NET數(shù)據(jù)集基本概念剖析
分享URL:http://m.5511xx.com/article/djiopgc.html