![連接數(shù)據(jù)庫以及提交數(shù)據(jù)_第1頁](http://file4.renrendoc.com/view/28a51dcde45dce10f995d9e65226aafc/28a51dcde45dce10f995d9e65226aafc1.gif)
![連接數(shù)據(jù)庫以及提交數(shù)據(jù)_第2頁](http://file4.renrendoc.com/view/28a51dcde45dce10f995d9e65226aafc/28a51dcde45dce10f995d9e65226aafc2.gif)
![連接數(shù)據(jù)庫以及提交數(shù)據(jù)_第3頁](http://file4.renrendoc.com/view/28a51dcde45dce10f995d9e65226aafc/28a51dcde45dce10f995d9e65226aafc3.gif)
![連接數(shù)據(jù)庫以及提交數(shù)據(jù)_第4頁](http://file4.renrendoc.com/view/28a51dcde45dce10f995d9e65226aafc/28a51dcde45dce10f995d9e65226aafc4.gif)
![連接數(shù)據(jù)庫以及提交數(shù)據(jù)_第5頁](http://file4.renrendoc.com/view/28a51dcde45dce10f995d9e65226aafc/28a51dcde45dce10f995d9e65226aafc5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
連接數(shù)據(jù)庫以及提交數(shù)據(jù)第一頁,共三十一頁,編輯于2023年,星期五本章目標(biāo)ADO.NET的功能:顯示和更新數(shù)據(jù)庫數(shù)據(jù)ADO.NET的組成:數(shù)據(jù)提供程序和數(shù)據(jù)集連接數(shù)據(jù)庫使用的對象:SqlConnection處理連接數(shù)據(jù)庫異常的對象:SqlException執(zhí)行SQL命令使用的對象:SqlCommand執(zhí)行增刪改SQL命令的函數(shù):ExecuteNonQueryADO.NET的事務(wù)處理對象:SqlTransaction
第二頁,共三十一頁,編輯于2023年,星期五MySchool數(shù)據(jù)庫結(jié)構(gòu)介紹第三頁,共三十一頁,編輯于2023年,星期五ADO.NET概述數(shù)據(jù)庫第四頁,共三十一頁,編輯于2023年,星期五ADO.NET概述數(shù)據(jù)庫使用數(shù)據(jù)庫存儲數(shù)據(jù)ADO.NET數(shù)據(jù)庫訪問的方法和技術(shù)使用界面顯示和更新數(shù)據(jù)第五頁,共三十一頁,編輯于2023年,星期五ADO.NET的主要組件ADO.NETDataSet(數(shù)據(jù)集)System.Data命名空間.NETFramework數(shù)據(jù)提供程序System.Data.SqlClient命名空間只進(jìn)、只讀訪問SQLServer數(shù)據(jù)獨(dú)立于數(shù)據(jù)源的數(shù)據(jù)訪問第六頁,共三十一頁,編輯于2023年,星期五ADO.NET操作數(shù)據(jù)庫結(jié)構(gòu)圖第七頁,共三十一頁,編輯于2023年,星期五為什么使用Connection應(yīng)用程序數(shù)據(jù)源請求數(shù)據(jù)Connection橋梁第八頁,共三十一頁,編輯于2023年,星期五Connection主要成員必須顯式關(guān)閉連接屬性說明ConnectionString連接字符串方法說明Open打開數(shù)據(jù)庫連接Close關(guān)閉數(shù)據(jù)庫連接第九頁,共三十一頁,編輯于2023年,星期五連接數(shù)據(jù)庫步驟連接數(shù)據(jù)庫的步驟:1、定義連接字符串2、創(chuàng)建Connection對象3、打開與數(shù)據(jù)庫的連接SQLServer身份驗證:Server=服務(wù)器名;Database=數(shù)據(jù)庫名;uid=用戶名;pwd=密碼Windows身份驗證:Server=服務(wù)器名;Database=數(shù)據(jù)庫名;IntegratedSecurity=trueSqlConnectionconnection=newSqlConnection(connString);連接字符串connection.Open();沒有密碼則可省略第十頁,共三十一頁,編輯于2023年,星期五連接數(shù)據(jù)庫示例連接到本機(jī)的MySchool數(shù)據(jù)庫演示示例1:測試MySchool數(shù)據(jù)庫連接第十一頁,共三十一頁,編輯于2023年,星期五示例1代碼分析//數(shù)據(jù)庫連接字符串stringconnString="server=.\\SQLEXPRESS;database=myschool;IntegratedSecurity=true";//創(chuàng)建
Connection對象SqlConnectionconnection=newSqlConnection(connString);
//打開數(shù)據(jù)庫連接connection.Open();MessageBox.Show("打開數(shù)據(jù)庫連接成功");
//關(guān)閉數(shù)據(jù)庫連接connection.Close();MessageBox.Show("關(guān)閉數(shù)據(jù)庫連接成功");第十二頁,共三十一頁,編輯于2023年,星期五為什么使用Command應(yīng)用程序打開數(shù)據(jù)庫處理數(shù)據(jù)……數(shù)據(jù)源Connection?怎樣處理數(shù)據(jù)Command執(zhí)行命令并從數(shù)據(jù)源中返回結(jié)果第十三頁,共三十一頁,編輯于2023年,星期五操作數(shù)據(jù)庫示例查詢MySchool數(shù)據(jù)庫Student表中記錄的數(shù)目演示示例3:查詢Student表記錄條數(shù)第十四頁,共三十一頁,編輯于2023年,星期五Command的主要成員屬性說明ConnectionCommand對象使用的數(shù)據(jù)庫連接CommandText執(zhí)行的SQL語句方法說明
ExecuteNonQuery執(zhí)行不返回行的語句,如UPDATE等ExecuteReader返回DataReader對象ExecuteScalar返回單個值,如執(zhí)行COUNT(*)第十五頁,共三十一頁,編輯于2023年,星期五使用Command步驟使用Command步驟:1、創(chuàng)建數(shù)據(jù)庫連接2、定義SQL語句3、創(chuàng)建Command對象4、打開數(shù)據(jù)庫連接5、執(zhí)行命令SqlConnectionconnection=newSqlConnection(connString);stringsql="SELECTCOUNT(*)FROMStudent";connection.Open();//打開數(shù)據(jù)庫連接SqlCommandcommand=newSqlCommand(sql,connection);intnum=(int)command.ExecuteScalar();示例3關(guān)鍵代碼:執(zhí)行命令前,必須打開數(shù)據(jù)庫連接!要進(jìn)行類型轉(zhuǎn)換!第十六頁,共三十一頁,編輯于2023年,星期五綜合示例完成系統(tǒng)登錄功能1、驗證管理員的用戶名和密碼是否存在2、驗證通過,顯示管理員主窗體處理登錄按鈕的Click事件定義一個ValidateUser()方法需要Connection和Command對象分兩步實現(xiàn)驗證:1、建立數(shù)據(jù)庫連接2、驗證用戶是否存在
第十七頁,共三十一頁,編輯于2023年,星期五用戶驗證方法框架ValidateUser()方法框架1、驗證的結(jié)果:通過,不通過返回值為bool型2、方法需要:用戶名,密碼,登錄類型值方式傳參3、不通過的原因:用戶名或密碼不存在、其他原因引用方式傳參publicboolValidateUser(stringloginType,stringloginId,
stringloginPwd,refstringmessage){}演示示例4:增加方法的定義和調(diào)用第十八頁,共三十一頁,編輯于2023年,星期五用戶驗證方法實現(xiàn)步驟第一步:建立數(shù)據(jù)庫連接增加DBHelper類第二步:查詢用戶是否存在SELECTCOUNT(*)ExecuteScalar()方法查詢ValidateUser()方法具體實現(xiàn)第十九頁,共三十一頁,編輯于2023年,星期五//查詢
Student表使用的
SQL語句stringsql=string.Format("SELECTCOUNT(*)FROMStudentWHERELogInId='{0}'ANDLogInPwd='{1}'",txtLogInId,txtLogInPwd);//使用的
Command對象SqlCommandcommand=newSqlCommand(sql,DBHelper.connection);DBHelper.connection.Open();//執(zhí)行查詢,返回找到的個數(shù)count=(int)command.ExecuteScalar();用戶驗證方法具體實現(xiàn)演示示例5:用戶驗證方法具體實現(xiàn)第二十頁,共三十一頁,編輯于2023年,星期五操作數(shù)據(jù)應(yīng)用程序毛毛,長沙牛耳,良好毛毛姓名:學(xué)校:長沙牛耳成績:良好ExecuteNonQuery如何對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增刪改?使用ExecuteNonQuery()方法數(shù)據(jù)庫第二十一頁,共三十一頁,編輯于2023年,星期五操作數(shù)據(jù)示例怎樣新增學(xué)員用戶?處理“保存”按鈕的Click事件使用ExecuteNonQuery()
方法向數(shù)據(jù)庫增加記錄第二十二頁,共三十一頁,編輯于2023年,星期五示例2代碼分析//創(chuàng)建command對象SqlCommandcommand=newSqlCommand(sql,DBHelper.connection);//打開數(shù)據(jù)庫連接DBHelper.connection.Open();//執(zhí)行命令intresult=command.ExecuteNonQuery();……返回受影響記錄的行數(shù)演示示例8:向數(shù)據(jù)庫增加記錄第二十三頁,共三十一頁,編輯于2023年,星期五ExecuteNonQuery()方法小結(jié)該方法執(zhí)行指定的sql語句返回受影響的行數(shù)使用ExecuteNonQuery()的步驟小結(jié):1、創(chuàng)建Connection對象2、定義sql語句3、創(chuàng)建Command對象4、執(zhí)行ExecuteNonQuery()方法5、根據(jù)返回的結(jié)果進(jìn)行處理第二十四頁,共三十一頁,編輯于2023年,星期五ADO.NET中的事務(wù)處理帳單編號說明數(shù)量價格總計1肥皂520100編號:12439
日期:2004年10月30日肥皂關(guān)系表數(shù)據(jù)庫512439124392004年10月30日已成功地完成對一個表的操作,但是關(guān)系表尚未更新,因此,數(shù)據(jù)會出現(xiàn)不一致的現(xiàn)象不完整的事務(wù)處理!成功地進(jìn)行整個操作或者取消整個操作確保事務(wù)處理是一組數(shù)據(jù)操作,這些操作要么必須全部成功,要么必須全部失敗,以保證數(shù)據(jù)的一致性和完整性第二十五頁,共三十一頁,編輯于2023年,星期五Begin:在執(zhí)行事務(wù)處理中的任何操作之前,必須使用Begin命令來開始事務(wù)處理Commit:在成功將所有修改都存儲于數(shù)據(jù)庫時,才算是提交了事務(wù)處理Rollback:由于在事務(wù)處理期間某個操作失敗,而取消事務(wù)處理已做的所有修改,這時將發(fā)生回滾事務(wù)處理命令A(yù)DO.NET中的事務(wù)處理第二十六頁,共三十一頁,編輯于2023年,星期五方法屬性Save()Rollback()Commit()ConnectionSqlTransaction類表示要對數(shù)據(jù)源進(jìn)行的事務(wù)處理ADO.NET中的事務(wù)處理第二十七頁,共三十一頁,編輯于2023年,星期五在ADO.NET中實現(xiàn)事務(wù)處理時執(zhí)行的步驟順序SqlConnectionobjSqlConnection=newSqlConnection ("server=SQLDB;uid=sa;pwd=password;database=pubs");objSqlConnection.Open();創(chuàng)建數(shù)據(jù)庫連接并打開該連接SqlTransactionobjSqlTransaction= objSqlConnection.BeginTransaction();使用BeginTransaction()方法開始事務(wù)處理ADO.NET中的事務(wù)處理第二十八頁,共三十一頁,編輯于2023年,星期五objSqlCommand.Transaction=objSqlTransaction;將Command對象的Transaction屬性設(shè)置為事務(wù)處理對象insertCommand="InsertintoStudent (Id,Name)values(111,"Jim");objSqlCommand.CommandText=insertCommand;objSqlCommand.ExecuteNonQuery();執(zhí)行SQL命令objSqlTransaction.Commit();如果操作過程中沒有錯誤,則提交事務(wù)處理。如果操作過程中發(fā)生錯誤,則回滾已完成的所有修改objSqlConnection.Close();關(guān)閉連接ADO.NET中的事務(wù)處理第二十九頁,共三十一頁,編輯于2023年,星
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)六年級上聽評課記錄
- 四年級下冊口算題大全
- 委托辦理貸款協(xié)議
- 實驗小學(xué)數(shù)學(xué)二年級下冊口算競賽題
- 2025年槳扇發(fā)動機(jī)合作協(xié)議書
- 楊凌職業(yè)技術(shù)學(xué)院《觀賞樹木學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大慶師范學(xué)院《經(jīng)濟(jì)學(xué)綜合博弈實驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 25 帶上她的眼睛 +公開課一等獎創(chuàng)新教案+同步練習(xí)(含答案)
- 河北科技大學(xué)《機(jī)器視覺》2023-2024學(xué)年第二學(xué)期期末試卷
- 企業(yè)可持續(xù)發(fā)展目標(biāo)與指標(biāo)體系
- 基于數(shù)據(jù)驅(qū)動的鋰離子電池剩余使用壽命預(yù)測方法研究
- 《內(nèi)臟疾病康復(fù)》課件
- 串通招投標(biāo)法律問題研究
- 高原鐵路建設(shè)衛(wèi)生保障
- 家具廠各崗位責(zé)任制匯編
- 顳下頜關(guān)節(jié)盤復(fù)位固定術(shù)后護(hù)理查房
- 硝苯地平控釋片
- 部編版語文六年級下冊全套單元基礎(chǔ)??紲y試卷含答案
- 提高檢驗標(biāo)本合格率品管圈PDCA成果匯報
- 2023年保險養(yǎng)老地產(chǎn)行業(yè)分析報告
- 世界古代史-對接選擇性必修(真題再現(xiàn)) 高考?xì)v史一輪復(fù)習(xí)
評論
0/150
提交評論