freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)--企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-展示頁(yè)

2024-12-18 03:12本頁(yè)面
  

【正文】 數(shù)來(lái)自類型為 DbCommand Parameters 集合的屬性這與直接在命令字符串中輸入?yún)?shù)相比有很多優(yōu)點(diǎn)在本書后面部分將會(huì)看到 要使用 DbCommand 對(duì)象執(zhí)行命令有三種選擇 這取決于要執(zhí)行的命令是什么有些命令不返回結(jié)果這種情況下可以用 DbCommandExecuteNonQuery 方法有些命令返回一個(gè)結(jié)果這時(shí)可用 DbCommandExecuteScalar 方法最后有很多命令返回多行數(shù)據(jù)這時(shí)可用 DbCommand ExecuteReader 方 法 它將 返 回 一 個(gè)DbDataReader 對(duì)象下一小節(jié)將解釋 SQL Server 的 DbCommand 版本名為 SqlCommand 它有自己的一些特殊方法如SqlCommand ExecuteXmlReader 方法它直接以 XML 格式 返回結(jié)果 3. DbDataReader 使用 DbDataReader 類可以從結(jié)果集中讀取數(shù)據(jù)如從執(zhí)行存儲(chǔ)在命令對(duì)象中的命令生成的結(jié)果集中讀取數(shù)據(jù)該類經(jīng)過(guò)高度優(yōu)化可以很快地訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)然而這種優(yōu)化也有些副作用例如只能以串行方式一次讀取一行數(shù)據(jù)不能讀完兩行后再返回去讀取第一行通常可以用 DbDataReader 對(duì)象更確切地說(shuō)是數(shù)據(jù)閱讀器的子類對(duì)象來(lái)提取要使用的行數(shù)據(jù)并將其存儲(chǔ)在其他對(duì)象中例如可以讀取一個(gè)結(jié)果集中的每行將其存儲(chǔ)到在自定義集合或泛型列表對(duì)象中的自定義類中 與命令對(duì)象一樣很多時(shí)候數(shù)據(jù)閱讀器對(duì)象是由 ADONET 命名空間下的其他類使用的用戶不必直接使用它們 如何在數(shù)據(jù)庫(kù)應(yīng)用程序中使用數(shù)據(jù)閱讀器 要使用數(shù)據(jù)閱讀器對(duì)象首先必須調(diào)用 DbDataReaderRead 方法選擇結(jié)果集中的第一行可不斷調(diào)用該方法來(lái)移動(dòng)數(shù)據(jù)閱讀器使數(shù)據(jù)閱讀器像結(jié)果集中的游標(biāo)一樣總是指向一行獲取一行時(shí) Read 方法返回 true否則返回 false如當(dāng)所有行都已經(jīng)讀完時(shí)也可以用 DbDataReader HasRows 屬性來(lái)判斷結(jié)果集中是否還有其他行 DbDataReader 類 很多屬性和方法可用于檢查當(dāng)前選中的行 DbDataReaderFieldCount 查看當(dāng)前行包含多少列并用 DbDataReader 的重載索引器訪問(wèn)各列如果知道要訪問(wèn)的列名可用基于字符串的索引器來(lái)獲得列值也可以使用基于整數(shù)的索引器通過(guò)位置獲得列在這兩種情況下這種方法都將返回 object 值可將其轉(zhuǎn)化為其他類型的數(shù)據(jù) 也可以使用 DbDataReader 提供的多個(gè)方法直接獲得類型化數(shù)據(jù)如GetString 和 GetInt32 分別將指定列以 string 和 int 值返回列通過(guò)其索引選擇要使用這些方法獲得值類型必須首先使用 DbDataReaderIsDBNull 檢 查空值否則空值將引發(fā)異常檢查空值是必須的因?yàn)椴还苁裁磾?shù)據(jù)庫(kù)類型都可以為空這與 NET中的值類型不同可為空的值類型如 int在這種上下文環(huán)境中是不受支持的 DbDataReader 也 能 夠 獲 得 關(guān) 于 它 包 含 的 數(shù) 據(jù) 的 元 信 息 使 用DbDataReaderGetSchema Table 方法這樣就可以知道列的名稱數(shù)據(jù)類型和其他信息如列是否包含空值 與前面的其他類一樣也有專門用于 SQL Server 的數(shù)據(jù)閱讀器類這就是SqlDataReader 本書將使用該類該類繼承 DbDataReader 提供將數(shù)據(jù)讀取為本地SQL類型的方法這 樣就能夠避免空類型的問(wèn)題這些類型包含在 Syypes命名空間中是可為空的如 SqlDouble 和 SqlInt32 雖然這些類型也可以像標(biāo)準(zhǔn)的值類型那樣進(jìn)行操作但它們實(shí)際上是引用類型 4. DbDataAdapter 在 ADONET 的核心數(shù)據(jù)訪問(wèn)類中最后一個(gè)是 DbDataAdapter 類它比前面介紹過(guò)的類型要復(fù)雜得多設(shè)計(jì)該類的目的只有一個(gè)減少存儲(chǔ)在數(shù)據(jù)集對(duì)象中的數(shù)據(jù)與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交換時(shí)的干擾與前面的類一樣 DbDataAdapter 類也有很多派生類它們統(tǒng)稱為數(shù)據(jù)適配器類 稍后將詳細(xì)解釋什么是數(shù)據(jù)集對(duì)象簡(jiǎn)單地說(shuō)它 們是能夠以 NET 對(duì)象的形來(lái)表示數(shù)據(jù)庫(kù)中數(shù)據(jù)的對(duì)象數(shù)據(jù)集對(duì)象可以包含整個(gè)表或多個(gè)表的數(shù)據(jù)數(shù)據(jù)適配器既可以將數(shù)據(jù)庫(kù)中的數(shù)據(jù)傳輸給包含在數(shù)據(jù)集中的表也可以將數(shù)據(jù)集中的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)庫(kù)中 這個(gè)功能由命令對(duì)象和數(shù)據(jù)閱讀器對(duì)象執(zhí)行因此大部分時(shí)候用戶不必考慮它然而 DbDataAdapter 最重要的也是最有用的特性之一是它用于傳輸數(shù)據(jù)的命令對(duì)象被暴露出來(lái)因此可以根據(jù)需要對(duì)它們進(jìn)行定制 圖 24 說(shuō)明了 DbDataAdapter 類的工作原理包括它包含的命令對(duì)象 DbDataAdapter 類 數(shù)據(jù)適配器使用的 4個(gè)命令對(duì)象存 儲(chǔ)在 4個(gè)屬性中 SelectCommand用于查詢數(shù)據(jù) InsertCommand 用 于 添 加 數(shù) 據(jù) UpdateCommand 用 于 編 輯 數(shù) 據(jù) 和DeleteCommand用于刪除數(shù)據(jù)要使用適配器并不一定全部用到這 4個(gè)屬性例如可以只用適配器來(lái)查詢數(shù)據(jù)另外 NET 框架可以根據(jù)其他命令的值推斷出命令的值例如可以根據(jù)查詢命令來(lái)生成更新插入和刪除命令然而這種自動(dòng)生成的命令的效率可能不如手工提供的高本書稍后還會(huì)討論這個(gè)問(wèn)題 數(shù) 據(jù) 適 配 器 中 最 常 用 的 兩 個(gè) 方 法 是 DbDataAdapterFill 和DbDataAdapterUpdate Fill 方法從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù) Update 方法更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)這兩個(gè)方法都可以用于數(shù)據(jù)集或單個(gè)數(shù)據(jù)表另外可以使用DbDataAdapterFillSchema 獲取架構(gòu)數(shù)據(jù) SQL Server 中的 DbDataAdapter 版本是 Sql DbDataAdapter 5. DataTable DataTable 是 ADONET 提供的第一個(gè)數(shù)據(jù)表示類與數(shù)據(jù)訪問(wèn)類不同數(shù)據(jù)表示類沒(méi)有專門用于特定數(shù)據(jù)庫(kù)管理系統(tǒng)如 SQL Server 的子類它們獨(dú)立于平臺(tái)實(shí)際上如果需要的話數(shù)據(jù)表示類完全可以獨(dú)立于數(shù)據(jù)庫(kù)使用它們只 是存儲(chǔ)數(shù)據(jù)的一種方便的方法 DataTable 類用于存儲(chǔ)讀者可能對(duì)此感到不解數(shù)據(jù)表在繼續(xù)討論這個(gè)類之前需要澄清一件事情以 DataTable 對(duì)象存儲(chǔ)的表不一定要映射到數(shù)據(jù)庫(kù)中的表DataTable 可能包含表中數(shù)據(jù)的一個(gè)子集該子集可能只包含數(shù)據(jù)庫(kù)表的部分行部分列可能是由數(shù)據(jù)庫(kù)中多個(gè)表組合而成的數(shù)據(jù)還可能是所有這些的組合這取決于用于獲得數(shù)據(jù)的查詢語(yǔ)句通常 DataTable 與數(shù)據(jù)庫(kù)中的表匹配但仍然要知道上面提到的事實(shí) DataTable 與其他 ADONET 對(duì)象之間的關(guān)系 圖 25 DataTable 要獲得完全填 充的 DataTable 可使用數(shù)據(jù)適配器有包含數(shù)據(jù)的 DataTable后就可以訪問(wèn)行列約束和它包含的其他信息這些信息可以通過(guò)命名恰切的屬性來(lái)訪問(wèn)包括 RowsColumns 和 Contraints 等 上面提到的 3 個(gè) 屬 性 都 返 回 一 個(gè) 集 合 類DataRowCollectionDataColumnCollection和 ConstaintCollection對(duì)象與其他集合類一樣這些類可用于在它們包含的對(duì)象集合中導(dǎo)航添加或刪除項(xiàng)等稍后將介紹這些集合包含的類 DataTable 類另一個(gè)非常重要的方面是如何處理數(shù)據(jù)修改例如如果刪除DataTable 中的一行數(shù)據(jù)適配器如何知道在數(shù)據(jù)庫(kù)中刪除對(duì)應(yīng)的數(shù)據(jù) DataTable對(duì)象記錄了對(duì)原始數(shù)據(jù)的修改而不只是數(shù)據(jù)的當(dāng)前狀態(tài)從 DataTable 中刪除一行并不會(huì)真的刪除這些數(shù)據(jù)而只是數(shù)據(jù)被標(biāo)記為已刪除在 DataTable 對(duì)象的消費(fèi)方如應(yīng)用程序看來(lái)就像數(shù)據(jù)已被刪除但實(shí)際上并沒(méi)有刪除 任何時(shí)候都可以使用 GetChanges 方法獲得關(guān)于對(duì) DataTable 對(duì)象所做的修改列表以另一個(gè) DataTable對(duì)象的形式可以在適當(dāng)時(shí)使用 AcceptChanges 方法接受已做的修改從而覆蓋原來(lái)的數(shù)據(jù)例如可以在 修改提交到數(shù)據(jù)庫(kù)后這樣做也可以使用 RejectChanges 撤銷所有的修改如當(dāng)最終用戶單擊取消按鈕時(shí) DataTable 對(duì)象也暴露了很多事件在應(yīng)用程序中可以定制這些事件如RowDeleted 和 ColumnChanged 使用這些事件可以保證應(yīng)用程序?qū)κ录M(jìn)行響應(yīng)還可以實(shí)現(xiàn)其他功能例如確保底層數(shù)據(jù)庫(kù)在數(shù)據(jù)發(fā)生修改時(shí)立即更新 1DataColumn DataColumn 存儲(chǔ)了在數(shù)據(jù)表中定義列所需的所有信息在 DataTable 中Columns 屬性包含一個(gè) DataColumnCollection 這是一個(gè) DataColumn 對(duì)象集合 DataColumn還包含與 DBMD匹配的屬性包括 ColumnNameDataypeAllowDBNull和 DefaultValue它的屬性可能比使用的 DBMS的屬性還要多但如果使用過(guò)不同的DBMS 這一點(diǎn)將顯而易見(jiàn)對(duì)于 SQL Server 這并不是問(wèn)題 2Constaint Constaint對(duì)象在 ConstaintCollection中可通過(guò) DataTableConstaints訪問(wèn)用于包含表的所有元數(shù)據(jù)這些數(shù)據(jù)不包含在 DataColumn 對(duì)象中 Constaint 類作為更具體類的基類這些 具體類包括 UniqueConstaint 用于確保給定列或列組合的值是唯一的例如這對(duì)于主鍵是必須的和 ForeingKeyConstaint 用于實(shí)現(xiàn)表之間的關(guān)系 3DataRow DataRow類用于存儲(chǔ)表中一行包含的數(shù)據(jù)通過(guò) DataTableRows屬性可以訪問(wèn)DataRow Collection 對(duì)象后者存儲(chǔ)了組成表數(shù)據(jù)的多個(gè) DataRow 對(duì)象一行數(shù)據(jù)中的各列可通過(guò)索引器來(lái)訪問(wèn)索引器讓你能夠通過(guò)列名索引和版本例如如果行被修改來(lái)訪問(wèn)列 行的當(dāng)前狀態(tài)即它是否被修改刪除或以某種方式改變可通過(guò) DataRowState屬性訪問(wèn)該屬性的值為 DataRowState 類型這是一種包含所有可能行狀態(tài)的枚舉類型各個(gè) DataRow對(duì)象也有與 DataTable對(duì)應(yīng)的方法用于接受拒絕和獲得更改例如可以推斷出調(diào)用 DataTable AcceptChanges 將級(jí)聯(lián)地對(duì)表的每行調(diào)用DataRow AcceptChanges 6. DataRelation 在處理多個(gè) DataTable 對(duì)象時(shí)通常需要表示并實(shí)施表數(shù)據(jù)之間的關(guān)系這由DataRelation 類來(lái)完成可將多個(gè) DataRelation 對(duì)象組合起來(lái)構(gòu)成一個(gè)DataRelationCollection 對(duì)象 關(guān)系可以用 DataRelation 類的多個(gè)屬性來(lái)定義包括ChildTableChildColumnsChildKeyConstraintParentTable 和ParentKeyConstraint 等這些屬性都是對(duì)相應(yīng)的對(duì)象的引用如 DataTable 和DataColumn 對(duì)象關(guān)系名也被存儲(chǔ)在 DataRelationRelationName 屬性中 現(xiàn)在還不用太擔(dān)心 DataRelation對(duì)象因?yàn)樗鼈兎庋b了 ADONET比較高級(jí)的方面這在本書后面將介紹 7. DataSet 現(xiàn)在到了 ADONET 中最重要的類 DataSet 從某種程度上說(shuō)該類只是DataTable 對(duì)象和 DataRelation 對(duì)象的集合如圖 26 所示然而 DataSet 的強(qiáng)大功能體現(xiàn)在與其他對(duì)象結(jié)合使用包括用于 Web應(yīng)用程序和 Windows應(yīng)用程序的控件Web 服務(wù)和 XML 文檔 DataSet 類包含很多屬性和方法其中很多與其組成部分的屬性和方法類似例如 GetChanges 和 RejectChanges 還有一些重要的屬性如 Tables 以DataTableCollection 類的形式包含 DataSet 中的表集合 Relations 包含一 個(gè)DataRelation Collection 類其中的 Relation 對(duì)象定義了表之間的關(guān)系 數(shù)據(jù)表之間的關(guān)系及應(yīng)用于數(shù)據(jù)的約束使得對(duì) DataSet 的操作很麻煩例如如果兩個(gè)表之間存在一對(duì)多關(guān)系則添加一行到其中一個(gè)表中可能要求另一個(gè)表中存在一行而這行可能不存在例如如果兩行同時(shí)添加時(shí)這時(shí)為避免錯(cuò)誤添加這些行的順序?qū)⒑苤匾仨毾忍砑游挥陉P(guān)系一端的行也可以將 DataSetEnforce Constraints 屬性設(shè)置為 false 這樣在執(zhí)行編輯操作時(shí)將忽略關(guān)系 1DataSet 對(duì)象和 XML 之間的關(guān)系 與 ADONET 的其他對(duì)象一樣設(shè)計(jì) DataSet 對(duì)象時(shí)也考慮了 XML 數(shù)據(jù)使用DataSet GetXml 方法可將數(shù)據(jù)集轉(zhuǎn)換為 XML 文 檔 還 可 以 使 用DataSetGetXmlSche
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1