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

正文內(nèi)容

計算機科學(xué)與技術(shù)專業(yè)--企業(yè)人事管理系統(tǒng)的設(shè)計與實現(xiàn)(編輯修改稿)

2025-01-11 03:12 本頁面
 

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