




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)目標(biāo):掌握創(chuàng)建和初始化Command對象的方法掌握通過Visual Studio 2005配置Command對象的方法掌握在Visual Studio 2005中配置參數(shù)集合的方法掌握創(chuàng)建和配置Command對象參數(shù)的方法掌握通過使用Command對象來執(zhí)行 SQL 語句的方法掌握創(chuàng)建DataReader的方法掌握獲取DataReader的屬性 掌握執(zhí)行DataReader的方法掌握使用Command對象進(jìn)行異步操作的方法掌握使用Command對象查詢多重活動結(jié)果集的方法目標(biāo) SQL 指定應(yīng)用程序所需要訪問的數(shù)據(jù) 返回所訪問到的數(shù)據(jù) 4.1 和數(shù)據(jù)源交流的語言- SQL在同數(shù)據(jù)源之間建立連
2、接之后,應(yīng)用程序和數(shù)據(jù)源之間的交流就包括以下兩個方面。SQL (續(xù))Command對象:包含要對數(shù)據(jù)庫執(zhí)行的SQL命令 DataReader對象:根據(jù)Command對象的查詢結(jié)果, 按順序獲取單行數(shù)據(jù) 4.1 和數(shù)據(jù)源的交流語言-SQLADO.NET提供兩個對象, 二者相互配合來實現(xiàn)應(yīng)用程序和數(shù)據(jù)源之間的交流。 Command 對象 通過Visual Studio 2005創(chuàng)建Command對象 通過編程方式創(chuàng)建Command對象 4.2 Command 對象通過Visual Studio 2005創(chuàng)建Command對象 4.2.1 通過Visual Studio 2005創(chuàng)建Command對
3、象在任意選項卡上單擊鼠標(biāo)右鍵,選擇“選擇項”命令, 手動加入工具箱。1通過Visual Studio 2005創(chuàng)建Command對象(續(xù)) 4.2.1 通過Visual Studio 2005創(chuàng)建Command對象等待一段時間后,出現(xiàn)“選擇工具箱項”對話框,從中找到SqlCommand對象,勾選后單擊“確定” 按鈕。2工具箱中可看到SqlCommand控件,可以拖曳并使用它 。3通過Visual Studio 2005創(chuàng)建Command對象(續(xù)) 4.2.1 通過Visual Studio 2005創(chuàng)建Command對象在窗體設(shè)計器中,拖曳一個SqlCommand控件。 4通過Visual S
4、tudio 2005創(chuàng)建Command對象(續(xù)) 4.2.1 通過Visual Studio 2005創(chuàng)建Command對象在“屬性”窗口中,把SqlCommand對象的Name屬性值改為“ cmdGetEmployees ” 。5通過Visual Studio 2005創(chuàng)建Command對象(續(xù)) 4.2.1 通過Visual Studio 2005創(chuàng)建Command對象通過編程方式創(chuàng)建Command對象 4.2.2 通過編程方式創(chuàng)建Command對象C#SqlCommand myCommand = new SqlCommand();通過編程方式創(chuàng)建Command對象的過程很簡單, 只需要按
5、照如下代碼進(jìn)行實例化 。通過編程方式創(chuàng)建Command對象 (續(xù)) 4.2.2 通過編程方式創(chuàng)建Command對象未指定關(guān)于連接的任何信息。1即使以上代碼編譯通過,也不能完成任何事情。原因如下。 也未指定所要執(zhí)行的命令的信息。2總結(jié) 4.2.2 通過編程方式創(chuàng)建Command對象使用無參數(shù)的構(gòu)造函數(shù)來創(chuàng)建Command對象的新實例,然后設(shè)置適當(dāng)?shù)膶傩灾?。1總結(jié)一下,可以通過以下三種方式來創(chuàng)建Command對象 。使用帶參數(shù)的構(gòu)造函數(shù), 并指定查詢字符串和Connection對象。 2調(diào)用Connection對象的CreateCommand()方法 。 3Command對象的屬性 4.3 Co
6、mmand對象的屬性Command對象的屬性及其描述如下表所示。屬性描述CommandText要對數(shù)據(jù)源執(zhí)行的SQL 語句或存儲過程CommandTimeout在終止執(zhí)行命令的嘗試并生成錯誤提示信息之前的等待時間(單位:秒)CommandType指示如何解釋 CommandText 屬性,默認(rèn)值是TextConnectionCommand對象所要使用的ConnectionParametersParameters集合Transaction執(zhí)行命令所在的事務(wù)(將在第7章中詳細(xì)闡述)UpdatedRowSource確定當(dāng)Command對象被DataAdapter或TableAdapter的Updat
7、e()方法使用時,其結(jié)果如何應(yīng)用于DataRowCommandText屬性(續(xù)) 4.3.1 CommandText屬性Visual Studio 2005中的查詢生成器提供了多種方法來生成SQL語句。 CommandType屬性(續(xù)) 4.3.3 CommandType屬性CommandType屬性用來指示如何解釋CommandText屬性的內(nèi)容 。其取值及描述如下表所示。屬性值描述StoredProcedure指示CommandText屬性所包含的是要執(zhí)行的存儲過程的名稱TableDirect指示CommandText屬性所包含的是要訪問的一個表的名稱,從此表中將取出所有的列和行Text指
8、示CommandText屬性包含的是要執(zhí)行的SQL命令(此為默認(rèn)值)設(shè)置Command對象的屬性 4.3.8 設(shè)置Command對象的屬性通過Visual Studio 2005設(shè)置Command對象的屬性 通過編程設(shè)置Command對象的屬性 設(shè)置Command對象的屬性 (續(xù)) 通過Visual Studio 2005設(shè)置Command對象的屬性在“窗體設(shè)計器”的組件托盤中,選中cmdGetEmployees 。1通過Visual Studio 2005設(shè)置Command對象的屬性的步驟如下 。在“屬性”窗口中,選擇Connection屬性,單擊其右側(cè)的下拉箭頭,選擇曾經(jīng)使用
9、的SqlConnection數(shù)。 2設(shè)置Command對象的屬性(續(xù)) 通過Visual Studio 2005設(shè)置Command對象的屬性繼續(xù)在“屬性”窗口中選擇CommandText屬性,單擊其右側(cè)的省略號按鈕 。3設(shè)置Command對象的屬性(續(xù)) 通過Visual Studio 2005設(shè)置Command對象的屬性在隨后出現(xiàn)的“查詢生成器”中,手動添加所需要的表。 4設(shè)置Command對象的屬性(續(xù)) 通過Visual Studio 2005設(shè)置Command對象的屬性雙擊“員工”表,將其添加至“查詢生成器”中,然后單擊“關(guān)閉”按鈕 。5
10、設(shè)置Command對象的屬性(續(xù)) 通過Visual Studio 2005設(shè)置Command對象的屬性選擇所需要的列,單擊“確定”按鈕 。6設(shè)置Command對象的屬性(續(xù)) 通過Visual Studio 2005設(shè)置Command對象的屬性設(shè)置Command對象的屬性 (續(xù)) 通過編程設(shè)置Command對象的屬性Command對象的大多數(shù)屬性是通過簡單的賦值語句來設(shè)置的,不過Parameters集合是一個例外,它所使用的是Add()方法。在下一節(jié)中將詳細(xì)討論Parameters集合。 Command對象的參數(shù) 4.4 Command對象的參數(shù)
11、要在Command對象中使用參數(shù),通常有以下三個步驟。 在命令文本或存儲過程中指定參數(shù) 。1將參數(shù)添加至Command對象的Parameters集合中 。2設(shè)置參數(shù)值 。3Command對象的參數(shù)(續(xù)) 4.4 Command對象的參數(shù)Parameters集合提供了一系列方法對集合進(jìn)行配置 。方法描述Add()將參數(shù)添加到集合中Clear()從集合中移除所有參數(shù)Insert()將參數(shù)插入集合中的指定索引位置Remove()從集合中移除所指定的參數(shù)通過Visual Studio 2005配置Parameters集合 通過編程方式添加并配置參數(shù) 設(shè)置Parameters的值 Command對象的參
12、數(shù)(續(xù)) 4.4 Command對象的參數(shù)配置Parameters集合 4.4.1 通過Visual Studio 2005配置Parameters集合在“窗體設(shè)計器”中,拖曳一個SqlCommand對象到窗體上 。1Visual Studio 2005 提供了參數(shù)集合編輯器來配置參數(shù) 。在“屬性”窗口中,把Command對象的Name屬性值改為“ cmdEmployeeDetails ” 。2選擇Connection屬性,在相應(yīng)的下拉箭頭中選擇SqlConnection1 。3配置Parameters集合(續(xù))選擇Parameters屬性,單擊其右側(cè)的省略號按鈕 。4 4.4.1 通過Vis
13、ual Studio 2005配置Parameters集合在彈出的“SqlParameter 集合編輯器”中,添加所需要的參數(shù),本示例需要添加一個EmployeeID參數(shù) 。5單擊“確定” 按鈕。6配置Parameters集合 (續(xù)) 4.4.1 通過Visual Studio 2005配置Parameters集合添加并配置參數(shù) 4.4.2 通過編程方式添加并配置參數(shù)創(chuàng)建新的SqlParameter對象或OleDbParameter對象 。1通過編程方式將參數(shù)添加至Command對象的Parameters 集合中,需遵循以下步驟 。配置參數(shù)對象的屬性 。2調(diào)用Command對象Paramete
14、rs 集合的Add()方法,將參數(shù)添加至Command對象的Parameters 集合中。 3添加并配置參數(shù)(續(xù)) 4.4.2 通過編程方式添加并配置參數(shù)參數(shù)對象的屬性及其描述如下表所示。屬性描述ParameterName將該屬性設(shè)置為SQL命令或存儲過程中的參數(shù)名,如 “EmployeeID” DbType、SqlDbType或 OleDbType將該屬性設(shè)置為參數(shù)的數(shù)據(jù)類型。 設(shè)置SqlParameter對象的數(shù)據(jù)類型的方法有以下兩種。在DbType枚舉中選擇一個值賦給DbType屬性在SqlDbType枚舉中選擇一個值賦給SqlDbType屬性Size設(shè)置該屬性以指示參數(shù)大小,例如字符串
15、參數(shù)中字符的個數(shù)。無需為已知且具有固定大小的數(shù)據(jù)類型(例如DbType.Int32)指定大小Direction設(shè)置該屬性以指示該參數(shù)是只輸入?yún)?shù)、只輸出參數(shù)、雙向參數(shù)還是存儲過程的返回值。 該屬性可設(shè)置為ParameterDirection枚舉值之一:ParameterDirection.Input、ParameterDirection.InputOutput、ParameterDirection.Output或ParameterDirection.ReturnValue。默認(rèn)方向為ParameterDirection.InputValue對于只輸入?yún)?shù)或雙向參數(shù)而言,在運行該命令之前需要設(shè)置
16、Value屬性。對于只輸出參數(shù)、雙向參數(shù)和存儲過程的返回值而言,在運行該命令之后可以檢索Value屬性設(shè)置Parameters的值 4.4.3 設(shè)置Parameters的值在設(shè)置好Parameters集合、執(zhí)行Command之前,必須為每一個Parameter設(shè)置它們的值??梢栽凇癝qlParameter集合編輯器”中進(jìn)行設(shè)置 。使用Command對象來執(zhí)行 SQL 語句4.5 使用Command對象來執(zhí)行 SQL 語句創(chuàng)建Command對象后,就可以對數(shù)據(jù)庫執(zhí)行命令 。方法描述Cancel()取消命令的執(zhí)行CreateParameter()創(chuàng)建SqlParameter對象的新實例Execut
17、eScalar()執(zhí)行命令并返回查詢結(jié)果集中第一行的第一列。忽略額外的列或行ExecuteNonQuery()執(zhí)行命令并返回受影響的行數(shù)ExecuteReader()執(zhí)行命令并返回一個DataReader對象ExecuteXmlReader()執(zhí)行命令并生成一個XmlReader對象Prepare()在 SQL Server 的實例上創(chuàng)建命令的一個準(zhǔn)備(預(yù)編譯)版本ResetCommandTimeout()將CommandTimeout屬性重置為其默認(rèn)值SqlCommand 和 OleDbCommand類提供了相關(guān)的一些方法來執(zhí)行命令,其中最重要的有以下四種方法: ExecuteScalar(
18、) 方法 ExecuteNonQuery()方法 ExecuteReader()方法 ExecuteXMLReader()方法 使用Command對象來執(zhí)行 SQL 語句 (續(xù)) 4.5 使用Command對象來執(zhí)行 SQL 語句ExecuteScalar()方法 ExecuteNonQuery()方法 4.5 使用Command對象來執(zhí)行 SQL 語句使用Command對象來執(zhí)行 SQL 語句 (續(xù)) ExecuteScalar()方法 4.5.1 ExecuteScalar()方法要檢索某一種特定產(chǎn)品的名稱??梢跃帉慡QL語句返回此產(chǎn)品的ProductName 字段。 要查找數(shù)據(jù)庫中的產(chǎn)品
19、數(shù)量??梢跃帉慡QL 語句,使用COUNT()函數(shù)計算產(chǎn)品數(shù)量。要找出某一特定類別中的產(chǎn)品數(shù)量并獲得該類別的名稱??梢跃帉懘鎯^程, 使用類別ID值作為輸入?yún)?shù),并設(shè)置類別名稱為輸出參數(shù) 。下面的示例顯示可能需要命令返回單一值的場景。 ExecuteScalar()方法 (續(xù)) 4.5.1 ExecuteScalar()方法打開一個數(shù)據(jù)庫連接。創(chuàng)建并初始化一個Command對象。 對該Command對象調(diào)用ExecuteScalar()方法。 將從ExecuteScalar()返回的值轉(zhuǎn)換為適當(dāng)?shù)臄?shù)據(jù)類型。 釋放該Command對象。關(guān)閉該數(shù)據(jù)庫連接 。執(zhí)行返回標(biāo)量結(jié)果的查詢的步驟如下。 ExecuteNonQuery()方法 4.5.2 ExecuteNo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大方天麻林下仿野生種植技術(shù)應(yīng)用的環(huán)境條件和詳細(xì)步驟分析
- 湖北省武漢市二中廣雅中學(xué)2024-2025學(xué)年九年級下學(xué)期3月月考化學(xué)試題(原卷版+解析版)
- 新未來大學(xué)英語 視聽說教程1(智慧版) 聽力腳本 Unit 1
- 建筑電氣系統(tǒng)修繕技術(shù)方案
- 2025年自動化X光檢查機(jī)項目合作計劃書
- 中西醫(yī)結(jié)合外科學(xué)知到課后答案智慧樹章節(jié)測試答案2025年春廣州中醫(yī)藥大學(xué)
- 2025年雙層客房車項目發(fā)展計劃
- 醫(yī)院外出進(jìn)修、培訓(xùn)及參加學(xué)術(shù)會議的管理規(guī)定
- 江西省上饒市2023-2024學(xué)年高二下學(xué)期期末考試語文試題2
- 2017-2018學(xué)年人教課標(biāo)高一英語必修4試題Unit5Themeparks單元測試題2
- 《中國服飾史》-沈從文等
- 北京市2023-2024學(xué)年七年級下學(xué)期期中語文試題(含含答案)
- NBA球星庫里課件
- 護(hù)理美學(xué)-第十章 護(hù)理環(huán)境中的美
- 試車階段投用前安全檢查清單(PSSR)工廠級表單
- 鍍金行業(yè)市場突圍建議及需求分析報告
- 五年級下英語教案-Lesson 5 What Are They Doing-冀教版
- 2024年同等學(xué)力申碩-同等學(xué)力(經(jīng)濟(jì)學(xué))筆試考試歷年高頻考點試題摘選含答案
- 2024年高中英語衡水體書法練字字帖
- 老齡化社會 認(rèn)知癥包容性社群框架
- 工程項目質(zhì)量風(fēng)險源識別及管控措施
評論
0/150
提交評論