国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

數據集的結構定義與實例的關系(轉)

2024-07-21 02:22:31
字體:
來源:轉載
供稿:網友
數據集的結構定義與實例的關系
www.yescnet.com   cnet中文網

在.net的數據庫開發中,不可避免的要使用到數據集(dataset),在閱讀msdn學習數據集使用的時候,由于沒有清晰的區分數據集的定義和實例,在操作中,總是這里做一個數據集,那里做一個數據集,繞來繞去,卻不知所以然,待全部完成后,仔細思考一下, 才發現此數據集非彼數據集,其中一部分是數據集的定義,另一部分才是充滿數據的數據集實例。因此為方便大家的理解,在這里將數據集的定義與實例分析一遍,以期有助于各位看客的.net的多層數據庫開發。此文章中的例子程序是vs.net studio beta 2中的msdn 中的walkthrough(別跟我說你找不到):webforms application walkthroughs 中的vb類的。如果你有什么沒看懂的,可以參考一下。

下面伴隨例子程序,分析說明在不同的情況下,這些很容易搞混淆的數據集的定義和實例。
首先,我們新建一個vb工程。工程類型為visual basic projects,在模板選擇asp.net web,命名為mywebform。
在visial studio.net 為你產生了許多文件之后,在工程中添加一個component。然后在component中添加一個sqldataadapter或oledataadapter,根據向導,連接上數據庫,配置好數據庫適配器。數據庫適配器是直接面對數據庫的,所有的對數據庫的操作的命令比如select, update, insert, delete等等,一般都是指派給適配器。適配器配置好以后,你會發現菜單上多了數據的菜單項,將其點開,會發現有“生成數據集”的菜單項。點擊后,彈出生成數據集的窗口,你可以選擇新建數據集,數據集的名字是dscustomers,此時的數據集實際上是指一個數據集的定義,也就是一個用xml格式表示的,文件名為'dscustomers.xsd'的數據集定義文件。注意它并不包含任何的數據庫中的數據,而只是描述一下將來如果哪個數據集(包含真正的數據,也就是實例)是用它來描述的,那么其中的數據是一些什么含義。選中要添加到數據集中的表,確認最后的‘將此數據集添加到設計器’前的復選框沒有打勾。之所以要將此處的勾去掉,是因為它是決定是否要在設計器上建立一個數據集實例的選項,要驗證這一點,你可以試一試打上勾是什么樣子。如果你用默認的dataset1的數據集名稱,效果很不明顯,因為數據集定義的文件名叫‘dataset1.xsd’,而添加到設計器上的數據集實例取名也叫'dataset1',令人疑惑,如果你自己將數據集的名稱改為'dsmydataset',那么你會發現生成的數據集定義的文件名稱叫'dsmydataset.xsd',而添加到設計器的數據集實例叫'dsmydataset1',此時就很明顯的表明,設計器上的數據集是一個可以容納實際數據的數據集實例。我們因為不需要在設計器上將數據提取出來,所以不要在此選項前打勾。數據集生成之后,我要提醒一下各位,當你雙擊打開xsd文件看到的畫面和msdn中的截圖很不一樣。我一直沒搞懂msdn上的截圖是怎么做出來的,它為什么會有兩個elements,而我按照它的方法總是只出來一個element。在這里,我轉悠了好久,直到確認我的并沒錯,其余也不想管msdn是否錯了。
我們需要的此component中添加一個方法,是專門用來將傳入的數據集實例填充的。編碼是這樣的:
public sub filldataset(byval dset as dscustomers)
sqldataadapter1.fill(dset)
end sub
將component保存。
接下來,我們要在界面上添加數據集實例。點開webform1.aspx,從工具箱中的數據分類里拖拽一個dataset控件,彈出添加數據集窗口。選中第一個選鈕,然后選擇我們剛才建立的數據集定義dscustomers,確定即可。于是webform1的下面的控件箱中有了一個以1結尾的數據集dscustomers1,注意這個1,它表明這是一個使用先前的數據集定義的數據集實例。此時,它里面還沒有數據,我們用鼠標雙擊webform1.aspx的頁面,打開代碼編輯窗口。要想將數據集實例中填滿數據, 我們可以利用上一個步驟建立的component。首先申明dim mycomp as component1。由于component屬于本工程,所以一切正常,如果component屬于別的工程或直接在網上,那么,你必須先引用它。接下來,我們用componet中的方法填充webform1.aspx中的數據集實例。編碼是:
mycomp.filldataset(dscustomer1)。好了,因為這個方法的傳入參數是用dscustomer定義的,而現在往里傳的webform1.aspx上的實例dscustomer1也是用dscustomer定義的,所以dscustomer1可以傳入component,用component 中的數據適配器進行填充。
經過以上的分析,相信各位應該不會再將數據集的定義和實際使用的數據集實例搞混了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嵩明县| 横峰县| 青川县| 汨罗市| 天柱县| 阿拉善右旗| 余江县| 安新县| 蓝山县| 大理市| 元江| 松江区| 泸溪县| 定陶县| 图木舒克市| 三河市| 洛隆县| 旌德县| 怀仁县| 渝中区| 环江| 长垣县| 吉首市| 盐池县| 隆德县| 夏河县| 乌鲁木齐县| 泸西县| 宽甸| 菏泽市| 收藏| 和林格尔县| 仪陇县| 舟曲县| 谷城县| 文水县| 当阳市| 巴里| 蒙山县| 盈江县| 赤壁市|