連接數據庫以及提交數據_第1頁
連接數據庫以及提交數據_第2頁
連接數據庫以及提交數據_第3頁
連接數據庫以及提交數據_第4頁
連接數據庫以及提交數據_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

連接數據庫以及提交數據第1頁,課件共31頁,創作于2023年2月本章目標ADO.NET的功能:顯示和更新數據庫數據ADO.NET的組成:數據提供程序和數據集連接數據庫使用的對象:SqlConnection處理連接數據庫異常的對象:SqlException執行SQL命令使用的對象:SqlCommand執行增刪改SQL命令的函數:ExecuteNonQueryADO.NET的事務處理對象:SqlTransaction

第2頁,課件共31頁,創作于2023年2月MySchool數據庫結構介紹第3頁,課件共31頁,創作于2023年2月ADO.NET概述數據庫第4頁,課件共31頁,創作于2023年2月ADO.NET概述數據庫使用數據庫存儲數據ADO.NET數據庫訪問的方法和技術使用界面顯示和更新數據第5頁,課件共31頁,創作于2023年2月ADO.NET的主要組件ADO.NETDataSet(數據集)System.Data命名空間.NETFramework數據提供程序System.Data.SqlClient命名空間只進、只讀訪問SQLServer數據獨立于數據源的數據訪問第6頁,課件共31頁,創作于2023年2月ADO.NET操作數據庫結構圖第7頁,課件共31頁,創作于2023年2月為什么使用Connection應用程序數據源請求數據Connection橋梁第8頁,課件共31頁,創作于2023年2月Connection主要成員必須顯式關閉連接屬性說明ConnectionString連接字符串方法說明Open打開數據庫連接Close關閉數據庫連接第9頁,課件共31頁,創作于2023年2月連接數據庫步驟連接數據庫的步驟:1、定義連接字符串2、創建Connection對象3、打開與數據庫的連接SQLServer身份驗證:Server=服務器名;Database=數據庫名;uid=用戶名;pwd=密碼Windows身份驗證:Server=服務器名;Database=數據庫名;IntegratedSecurity=trueSqlConnectionconnection=newSqlConnection(connString);連接字符串connection.Open();沒有密碼則可省略第10頁,課件共31頁,創作于2023年2月連接數據庫示例連接到本機的MySchool數據庫演示示例1:測試MySchool數據庫連接第11頁,課件共31頁,創作于2023年2月示例1代碼分析//數據庫連接字符串stringconnString="server=.\\SQLEXPRESS;database=myschool;IntegratedSecurity=true";//創建

Connection對象SqlConnectionconnection=newSqlConnection(connString);

//打開數據庫連接connection.Open();MessageBox.Show("打開數據庫連接成功");

//關閉數據庫連接connection.Close();MessageBox.Show("關閉數據庫連接成功");第12頁,課件共31頁,創作于2023年2月為什么使用Command應用程序打開數據庫處理數據……數據源Connection?怎樣處理數據Command執行命令并從數據源中返回結果第13頁,課件共31頁,創作于2023年2月操作數據庫示例查詢MySchool數據庫Student表中記錄的數目演示示例3:查詢Student表記錄條數第14頁,課件共31頁,創作于2023年2月Command的主要成員屬性說明ConnectionCommand對象使用的數據庫連接CommandText執行的SQL語句方法說明

ExecuteNonQuery執行不返回行的語句,如UPDATE等ExecuteReader返回DataReader對象ExecuteScalar返回單個值,如執行COUNT(*)第15頁,課件共31頁,創作于2023年2月使用Command步驟使用Command步驟:1、創建數據庫連接2、定義SQL語句3、創建Command對象4、打開數據庫連接5、執行命令SqlConnectionconnection=newSqlConnection(connString);stringsql="SELECTCOUNT(*)FROMStudent";connection.Open();//打開數據庫連接SqlCommandcommand=newSqlCommand(sql,connection);intnum=(int)command.ExecuteScalar();示例3關鍵代碼:執行命令前,必須打開數據庫連接!要進行類型轉換!第16頁,課件共31頁,創作于2023年2月綜合示例完成系統登錄功能1、驗證管理員的用戶名和密碼是否存在2、驗證通過,顯示管理員主窗體處理登錄按鈕的Click事件定義一個ValidateUser()方法需要Connection和Command對象分兩步實現驗證:1、建立數據庫連接2、驗證用戶是否存在

第17頁,課件共31頁,創作于2023年2月用戶驗證方法框架ValidateUser()方法框架1、驗證的結果:通過,不通過返回值為bool型2、方法需要:用戶名,密碼,登錄類型值方式傳參3、不通過的原因:用戶名或密碼不存在、其他原因引用方式傳參publicboolValidateUser(stringloginType,stringloginId,

stringloginPwd,refstringmessage){}演示示例4:增加方法的定義和調用第18頁,課件共31頁,創作于2023年2月用戶驗證方法實現步驟第一步:建立數據庫連接增加DBHelper類第二步:查詢用戶是否存在SELECTCOUNT(*)ExecuteScalar()方法查詢ValidateUser()方法具體實現第19頁,課件共31頁,創作于2023年2月//查詢

Student表使用的

SQL語句stringsql=string.Format("SELECTCOUNT(*)FROMStudentWHERELogInId='{0}'ANDLogInPwd='{1}'",txtLogInId,txtLogInPwd);//使用的

Command對象SqlCommandcommand=newSqlCommand(sql,DBHelper.connection);DBHelper.connection.Open();//執行查詢,返回找到的個數count=(int)command.ExecuteScalar();用戶驗證方法具體實現演示示例5:用戶驗證方法具體實現第20頁,課件共31頁,創作于2023年2月操作數據應用程序毛毛,長沙牛耳,良好毛毛姓名:學校:長沙牛耳成績:良好ExecuteNonQuery如何對數據庫的數據進行增刪改?使用ExecuteNonQuery()方法數據庫第21頁,課件共31頁,創作于2023年2月操作數據示例怎樣新增學員用戶?處理“保存”按鈕的Click事件使用ExecuteNonQuery()

方法向數據庫增加記錄第22頁,課件共31頁,創作于2023年2月示例2代碼分析//創建command對象SqlCommandcommand=newSqlCommand(sql,DBHelper.connection);//打開數據庫連接DBHelper.connection.Open();//執行命令intresult=command.ExecuteNonQuery();……返回受影響記錄的行數演示示例8:向數據庫增加記錄第23頁,課件共31頁,創作于2023年2月ExecuteNonQuery()方法小結該方法執行指定的sql語句返回受影響的行數使用ExecuteNonQuery()的步驟小結:1、創建Connection對象2、定義sql語句3、創建Command對象4、執行ExecuteNonQuery()方法5、根據返回的結果進行處理第24頁,課件共31頁,創作于2023年2月ADO.NET中的事務處理帳單編號說明數量價格總計1肥皂520100編號:12439

日期:2004年10月30日肥皂關系表數據庫512439124392004年10月30日已成功地完成對一個表的操作,但是關系表尚未更新,因此,數據會出現不一致的現象不完整的事務處理!成功地進行整個操作或者取消整個操作確保事務處理是一組數據操作,這些操作要么必須全部成功,要么必須全部失敗,以保證數據的一致性和完整性第25頁,課件共31頁,創作于2023年2月Begin:在執行事務處理中的任何操作之前,必須使用Begin命令來開始事務處理Commit:在成功將所有修改都存儲于數據庫時,才算是提交了事務處理Rollback:由于在事務處理期間某個操作失敗,而取消事務處理已做的所有修改,這時將發生回滾事務處理命令ADO.NET中的事務處理第26頁,課件共31頁,創作于2023年2月方法屬性Save()Rollback()Commit()ConnectionSqlTransaction類表示要對數據源進行的事務處理ADO.NET中的事務處理第27頁,課件共31頁,創作于2023年2月在ADO.NET中實現事務處理時執行的步驟順序SqlConnectionobjSqlConnection=newSqlConnection ("server=SQLDB;uid=sa;pwd=password;database=pubs");objSqlConnection.Open();創建數據庫連接并打開該連接SqlTransactionobjSqlTransaction= objSqlConnection.BeginTransaction();使用BeginTransaction()方法開始事務處理ADO.NET中的事務處理第28頁,課件共31頁,創作于2023年2月objSqlCommand.Transaction=objSqlTransaction;將Command對象的Transaction屬性設置為事務處理對象insertCommand="InsertintoStudent (Id,Name)values(111,"Jim");objSqlCommand.CommandText=insertCommand;objSqlCommand.ExecuteNonQuery();執行SQL命令objSqlTransaction.Commit();如果操作過程中沒有錯誤,則提交事務處理。如果操作過程中發生錯誤,則回滾已完成的所有修改objSqlConnection.Close();關閉連接ADO.NET中的事務處理第29頁,課件共31頁,創作于2023年2月ADO.NET中的事務處理

SqlTransactiont=null;//聲名事務對象try{con.Open();//設置事務開始

t=con.BeginTransaction();//將事務和命令對象關連

cmd.Transaction=t; //執行命令產生事務 cmd.ExecuteNonQue

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論