Bài 7: Thiết kê và lập trình web với ASP.NET - Thao tác CSDL với ADO.NET

15 485 2
Bài 7: Thiết kê và lập trình web với ASP.NET - Thao tác CSDL với ADO.NET

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lp trình Thit k Web 2 Bài 7 ThaoThao táctác CSDL CSDL vivi ADO .NETADO .NET Ths. TrnTh Bích Hnh Khoa CNTT Khoa CNTT –– H.KHTNH.KHTN © 2009 Khoa Công ngh thông tin Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NiNi dungdung NiNi dungdung  GiithiuADO .NET  KintrúcADO .NET  Mô hình s dng ADO .NET  .NET Data Provider © 2009 Khoa CNTT - HKHTN 2 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Ni dungNi dung Ni dungNi dung  GiithiuADO .NET  Kin trúc ADO.NET  Mô hình s dng ADO .NET  .NET Data Provider © 2009 Khoa CNTT - HKHTN 3 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ADO NETADO NET làlà gìgì ?? ADO . NET ADO . NET làlà gìgì ??  ADO.NET AtiXDtObjtNET – A c ti ve X D a t a Obj ec t . NET – Công ngh caMicrosoft Phát ti t ADO – Phát t r i n t ADO – Cung cpcácđitng hàm th vin dùng đ kt nivàx l ý trên CSDL ý © 2009 Khoa CNTT - HKHTN 4 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET SS lclc lchlch ss phátphát trintrin SS lclc lchlch ss phátphát trintrin  Native API DB API DB API DB API Application Database Di DB API  OOpen pen DDataataBBase ase CConnectivityonnectivity ODBC Driver Driver D r i ve r ODBC API DB API DB API © 2009 Khoa CNTT - HKHTN A pplication Database 5 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET SS lclc lchlch ss phátphát trintrin (( tttt )) SS lclc lchlch ss phátphát trintrin (( tttt ))  OLEDB ADO Provider Provider ADO OLE DB Non-Relational Data Pr o vi de r Provider Provider Application ODBC Driver Driver ode Relational Data Driver © 2009 Khoa CNTT - HKHTN 6 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET SS lclc lchlch ss phátphát trintrin (( tttt )) SS lclc lchlch ss phátphát trintrin (( tttt )) .NET Data Provider  ADO.NET Oracle SQL Server Relational Data OLE DB Oracle OLE DB A DO.NET Application ODBC Non-Relational Data ODBC © 2009 Khoa CNTT - HKHTN 7 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Ni dungNi dung Ni dungNi dung  Giithiu ADO.NET  KintrúcADO .NET  Mô hình s dng ADO .NET  .NET Data Provider © 2009 Khoa CNTT - HKHTN 8 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Kintrúcca ADO NETKintrúcca ADO NET Kin trúc ca ADO . NETKin trúc ca ADO . NET © 2009 Khoa CNTT - HKHTN 9 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NamespacesNamespaces NamespacesNamespaces  Nu ng dng .NET cntruyxutd liu  Phi khai báo namespace ADO NET tng ng vi d liu cho ng dng namespace ADO . NET tng ng vi d liu cho ng dng  i vi d liu OLE  i vi d liu OLE – using System.Data; – usin g S y stem.Data.OleDB ; g y ;   iv  i d li u SQ L Se rv e r   d u SQ Se e – using System.Data; – using System.Data.SqlClient; © 2009 Khoa CNTT - HKHTN 10 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Ni dungNi dung Ni dungNi dung  Giithiu ADO.NET  KintrúcADO .NET  Mô hình s dng ADO .NET  .NET Data Provider © 2009 Khoa CNTT - HKHTN 11 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Mô hình s dng ADO NET viPhnmmMô hình s dng ADO NET viPhnmm Mô hình s dng ADO . NET vi Phn mmMô hình s dng ADO . NET vi Phn mm SqlDataReader DataSet SqlConnection S q lDataAda p te r SqlCommand SQL qp © 2009 Khoa CNTT - HKHTN 12 12 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Mô hình s dng ADO NET viPhnmmMô hình s dng ADO NET viPhnmm Mô hình s dng ADO . NET vi Phn mmMô hình s dng ADO . NET vi Phn mm 3 SqlDataReader Select 1 3 SqlConnectionSqlCommand 2 1 2 SQL 1 Insert Delete Update StoreProcedure Functions © 2009 Khoa CNTT - HKHTN 13 13 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Mô hình s dng ADO NET viPhnmmMô hình s dng ADO NET viPhnmm Mô hình s dng ADO . NET vi Phn mmMô hình s dng ADO . NET vi Phn mm 4 DataSet 5 SqlConnectionSqlDataAdapter 3 5 6 SQL Select Insert 1 2 1 Delete Update SqlCommand © 2009 Khoa CNTT - HKHTN 14 14 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Ni dungNi dung Ni dungNi dung  Giithiu ADO.NET  KintrúcADO .NET  Mô hình s dng ADO .NET .NET Data Provider © 2009 Khoa CNTT - HKHTN 15 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NET Data ProviderNET Data Provider . NET Data Provider . NET Data Provider  Connection  Command & Parameter  DataReader  DataSet & DataAdapter  Transaction © 2009 Khoa CNTT - HKHTN 16 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NET Data ProviderNET Data Provider ConnectionConnection . NET Data Provider . NET Data Provider ConnectionConnection Data Source Connection Application SQL  Thitlpktni đn Data Source Data Source Application  Thuctính ConnectionString: Luchuiktni đn Data Source State: cho bittìnhtr  n g caktni  g  Phng thc Open(): thitlpktni đn Data Source.     © 2009 Khoa CNTT - HKHTN Close(): ng  tk  tn  i đ  n Data Source. 17 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET VíVí dd VíVí dd  using System.Data.SqlClient; string sConnectionString = " Initial Catalog=Northwind; Data Source=localhost; user=sa ; ; password=sa;”;  SqlConnection cnn = new SqlConnection ();  SqlConnection cnn = new SqlConnection ();  cnn.ConnectionString = sConnectionString;  cnn.Open();  // do somethings Cl () © 2009 Khoa CNTT - HKHTN  cnn. Cl ose () ; 18 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Connection string (Access, SQL Server,…)Connection string (Access, SQL Server,…)  To connection string  To connection string Database ODBC/OLEDB Connection String Microsoft Access Provider=Microsoft.Jet.OLEDB.4.0; Data Source=ngDnnFileAccess Microsoft SQL Provider=SQLOLEDB;Data Source=ServerName; Initial Catalog=DatabaseName; UserId= Username; Password=Password; String strConn = string.Format(“Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}”, HttpContext.Current.Server.MapPath(“database/mydb.mdb”)); © 2009 Khoa CNTT - HKHTN REF: http://www.connectionstrings.com/ 19 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ng dntitp tin Accessng dntitp tin Access ng dn ti tp tin Accessng dn ti tp tin Access  HttpContext.Current.Server.MapPath(StringPath) – ánh xđng dntng đi StringPath thành đng dn đnth mcvtlýtrênServer – Ví d : Gi s tp tin aspx s dng hàm Server MapPath – Ví d : Gi s tp tin aspx s dng hàm Server . MapPath đcluti D:\MyWebsite Kt qu S M P th( “ DB db ” ) D \ MWbit \ DB db S erver. M ap P a th( my DB .m db ) ; D : \ M y W e b s it e \ my DB .m db Server.MapPath(“Database/myDB.mdb”); D:\MyWebsite\Database\myDB.mdb Server.MapPath(“ /myDB.mdb”); D:\myDB.mdb © 2009 Khoa CNTT - HKHTN 20 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET CuCu hìnhhình lulu ConnectionStringConnectionString trongtrong Web ConfigWeb Config CuCu hìnhhình lulu ConnectionStringConnectionString trongtrong Web . ConfigWeb . Config // Web.Config <configuration> <connectionStrings> <add name=“ OleDbConnectionString" connectionString=“ Provider=Microsoft.Jet.OLEDB.4.0; Data Source= |DataDirectory|\DatabasePath" /> dd lii <a dd name=“ S q l Connect i onStr i ng" connectionString=" SQLOLEDB;Data Source=ServerName; Initial Catalog= DatabaseName; UserId=Username; Password=Password" /> </connectionStrings> b <system.we b > … </system.web> </configuration> // WebForm.aspx.cs using System.Configuration; string strConn © 2009 Khoa CNTT - HKHTN 21 string strConn = ConfigurationManager.ConnectionStrings[“SqlConnectionString"].ToString(); Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Connection PoolingConnection Pooling Connection PoolingConnection Pooling  SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Integrated Security=SSPI;Initial Catalog=northwind"; conn.Open(); // Pool A is created.  SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Integrated Security=SSPI;Initial Catalog=pubs"; conn.Open(); // Pool B is created because the connection strings differ.  SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Integrated Security=SSPI;Initial Catalog=northwind"; () // h ti t i t h l © 2009 Khoa CNTT - HKHTN conn.Open () ; // T h e connec ti on s t r i ng ma t c h es poo l A. 22 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NET Data ProviderNET Data Provider . NET Data Provider . NET Data Provider  Connection  Command & Parameter  DataReader  DataSet & DataAdapter  Transaction © 2009 Khoa CNTT - HKHTN 23 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET .NET Data Provider .NET Data Provider –– Command & Paramete r Command & Paramete r SqlDataReader 3 SqlConnectionSqlCommand Select 2 1 2 SQL 1 2 2 Insert SqlParameter SQL Delete Update StoreProcedure Functions  Thcthicâutruyvn Functions © 2009 Khoa CNTT - HKHTN  H tr tham s vào, tham s ra, giá tr tr v 24 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET CommandCommand HàmHàm khikhi toto vàvà ThucThuc tínhtính Command Command HàmHàm khikhi toto vàvà ThucThuc tínhtính Các hàm khito new ???Command() new ???Command() new ???Command(cmdText) new ???Command(cmdText, connection) ???C d( dT t ti t ti ) new ???C omman d( c m dT ex t , connec ti on, t ransac ti on ) Thuc tính Ý ngha Connection Tr đn đitng ktni . Connection Tr đn đi tng kt ni .CommandType CommandType.Text (mc đnh) CommandType.StoreProcedure CommandT yp e.TableDirect yp .CommandText Câu truy vn SQL hoc tên Store, tên Bng .CommandTimeOut Thi gian ch đi thc thi 1 câu sql Parameters Danh sách các tham s truyn vào © 2009 Khoa CNTT - HKHTN . Parameters Danh sách các tham s truyn vào 25 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET CommandCommand PhngPhng thcthc Command Command PhngPhng thcthc Phng thc Ý ngha Phng thc Ý ngha .ExecuteReader() Tr v mt DataReader .ExecuteNonQuery() Tr v s lng dòng b nh hng trên CSDL  .ExecuteScaler() Tr v 1 giá tr đu tiên (VD: giá tr tính t  ng) .ExecuteXMLReader() Tr v 1 XMLReader © 2009 Khoa CNTT - HKHTN 26 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET VíVí dd OleDbCommandOleDbCommand VíVí dd OleDbCommandOleDbCommand  using System.Data.OleDb;  OleDbConnection cnn = new OleDbConnection(); cnn.ConnectionString = string.Format ( " Provider = Microsoft.Jet.OLEDB. 4 . 0 ; Data string.Format ( Provider Microsoft.Jet.OLEDB. 4 . 0 ; Data Source={0}", Server.MapPath("~/App_Data/QLHS.mdb"));  OleDbCommand cmd = new OleDbCommand(); d Cti c m d . C onnec ti on = cnn; cmd.CommandText = "INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb)VALUES(5, 'Nguyn Vn A', 8.5)"; cmd.CommandType = CommandType.Text;  cnn.Open(); cmd ExecuteNonQuery (); © 2009 Khoa CNTT - HKHTN cmd . ExecuteNonQuery (); cnn.Close(); 27 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET VíVí dd SqlCommandSqlCommand VíVí dd SqlCommandSqlCommand  using System.Data.SqlClient;  SqlConnection cnn = new SqlConnection();  cnn. ConnectionString =" Initial Catalog = Northwind ; cnn. ConnectionString Initial Catalog Northwind ; Data Source=localhost; user=sa; password=sa;”;  SqlCommand cmd = new SqlCommand(); d Cti cm d . C onnec ti on = cnn; cmd. CommandText = "SELECT COUNT(*) FROM Orders"; cmd.CommandT yp e = CommandT yp e.Text; yp yp  cnn.Open(); int count = (int)cmd.ExecuteScalar(); © 2009 Khoa CNTT - HKHTN cnn.Close(); 28 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NET Data ProviderNET Data Provider ParameterParameter . NET Data Provider . NET Data Provider ParameterParameter nh ngha tham s tr n ào cho đi t ng Command  nh ngha tham s tr uy n v ào cho đi t  ng Command  Có các thuc tính sau : Thuc tính Ý ngha ParameterName Tên tham s SqlDbType Kiud liuca tham s tng ng vikiud liuca SqlServer Direction Input, Output, InputOutput, ReturenValue, … Size Kích thc ti đa ca d li  u  Value Giá tr ca tham s (input / Output) © 2009 Khoa CNTT - HKHTN 29 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ParameterParameter –– CáchCách ss dngdng Parameter Parameter –– CáchCách ss dngdng  Mc đích s dng:   Mt vài giá tr trong câu lnh ch  bi  tkhithchincâulnh. Cnthchincâulnh nhiulnvi các giá tr khác nhau.  Các bcthchin:  Tham s hóa câu truy vn : ? hoc @[ tên tham s ]  Tham s hóa câu truy vn : ? hoc @[ tên tham s ] . To các parameters tng ng cho command. tgiátr cho các parameter mi khi dùng command thchin câu lnh câu lnh . © 2009 Khoa CNTT - HKHTN 30 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ParameterParameter –– ThamTham ss hóahóa câucâu truytruy vnvn Parameter Parameter –– ThamTham ss hóahóa câucâu truytruy vnvn  SQL Data Provider: cmd CommandTe t cmd . CommandTe x t = “SELECT * FROM HocSinh WHERE tenhocsinh = @ten”; cmd.CommandText = “ INSERT INTO HocSinh ( id hocsinh , tenhocsinh , dtb ) ” + INSERT INTO HocSinh ( id _ hocsinh , tenhocsinh , dtb ) + “VALUES(@id, @ten, @dtb)”;  Các provider khác :  Các provider khác : cmd.CommandText = “SELECT * FROM HocSinh WHERE tenhocsinh = ?”; dd cm d .Comman d Text = “INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb)” + “VALUES(?, ?, ?)”; © 2009 Khoa CNTT - HKHTN 31 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ParameterParameter –– ToTo cáccác thamtham ss chocho CommandCommand Parameter Parameter –– ToTo cáccác thamtham ss chocho CommandCommand  Sql Data Provider: ddd (“ id ” lb ) cm d .Parameters.A dd (“ id ” , Sq l D b Type.Int ) ; cmd.Parameters.Add(“ ten”, SqlDbType.NVarChar); cmd.Parameters.Add(“ dtb”, SqlDbType.Float);  OleDb Data Provider: cmd Parameters Add ( “ id ” OleDbType Integer ); cmd . Parameters . Add ( id , OleDbType . Integer ); cmd.Parameters.Add(“ten”, OleDbType.VarWChar); cmd.Parameters.Add(“ dtb”, OleDbType.Numeric); © 2009 Khoa CNTT - HKHTN 32 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ParameterParameter –– tt giágiá trtr chocho cáccác thamtham ss vàvà thcthc thithi Parameter Parameter –– tt giágiá trtr chocho cáccác thamtham ss vàvà thcthc thithi foreach (Student s in studentList) { { cmd.Parameters[“id”].Value = i; cmd.Parameters [ “ten” ] .Value = s.studentName ; [ ] ; cmd.Parameters[“dtb”].Value = s.studentMarks; cmd.ExecuteNonQuery(); } © 2009 Khoa CNTT - HKHTN 33 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET VíVí dd GiGi StoredProcedureStoredProcedure VíVí dd GiGi StoredProcedureStoredProcedure © 2009 Khoa CNTT - HKHTN 34 34 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NET Data ProviderNET Data Provider . NET Data Provider . NET Data Provider  Connection  Command & Parameter  DataReader  DataSet & DataAdapter  Transaction © 2009 Khoa CNTT - HKHTN 35 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NET Data ProviderNET Data Provider DataReaderDataReader . NET Data Provider . NET Data Provider DataReaderDataReader SqlDataReader 3 ExecuteReader () SqlConnectionSqlCommand 2 ExecuteReader () SQ L Select 1 2 SQ T t t  t à khô li Select BookIDBookID BookNameBookName AuthorAuthor ii Book iBook i Author Author ii  T ruy xu t t u  n t  v à khô ng quay l u i  Chđc, Không cpnhtd liu     © 2009 Khoa CNTT - HKHTN  Ch luli 1 record k  tqu trong b nh vim  il  ntruyxu  t 36 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET DataReaderDataReader DataReaderDataReader Mt s th c tính & ph ng thc  Mt s th u c tính & ph  ng thc : Thuc tính Ý ngha HasRows Tr v xem DataReader có đc đc d liu nào không. FieldCount Tr v s lng thuc tính trong dòng hin ti (đang đc) [ int /string] Tr v giá tr ca thuc tính đang yêu cu [ int /string] Tr v giá tr ca thuc tính đang yêu cu Phng thc Ý ngha R d()  dd li k ti R ea d()  c recor d d li u k ti p IsDBNull(i) Kim tra xem giá tr ct i có b null không Close() óng DataReader © 2009 Khoa CNTT - HKHTN 37 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET VíVí dd : Load: Load dd liuliu vàovào ListList VíVí dd : Load : Load dd liuliu vàovào ListList © 2009 Khoa CNTT - HKHTN 38 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET NET Data ProviderNET Data Provider . NET Data Provider . NET Data Provider  Connection  Command & Parameter  DataReader  DataSet & DataAdapter  Transaction © 2009 Khoa CNTT - HKHTN 39 Lp trình Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ii tngtng DataSetDataSet vàvà DataAdapterDataAdapter ii tngtng DataSetDataSet vàvà DataAdapterDataAdapter DataSet Data source DataAdapter DataTable Fill Fill Update DataTable DataAdapter Fill Update Fill © 2009 Khoa CNTT - HKHTN 40 [...]... SqlDataReader SqlCommand SqlConnection SQL SqlParameter T-SQL : Select 1 T-SQL : Insert 1 T-SQL : Update2 T-SQL : Select 2 53 © 2009 Khoa CNTT - 54 HKHTN L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET © 2009 Khoa CNTT - L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Th c hi n giao tác v i ng d ng CSDL Th c hi n giao tác v i ng d ng CSDL Cách 2 : Cách 2 : Calling sp_AAA StoredProcedure... SqlConnection T-SQL : Select 1 T-SQL : Insert 1 T-SQL : Update2 T-SQL : Select 2 T-SQL : Insert 1 T-SQL : Select 2 T-SQL : Select 1 T-SQL : Insert 1 T-SQL : Update2 T-SQL : Select 2 T-SQL : Update2 T-SQL : Insert 1 SqlTransaction T-SQL : Update2 T-SQL : Select 2 © 2009 Khoa CNTT - SQL SqlParameter T-SQL : Select 1 55 HKHTN HKHTN 56 © 2009 Khoa CNTT - HKHTN T-SQL : Select 1 L p trình Thi t k Web 2 – Bài 7: Thao. .. v i CSDL © 2009 Khoa CNTT - HKHTN GetXML(), ReadXML(), WriteXML() 44 © 2009 Khoa CNTT - HKHTN i trên DataSet ang xét L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Ví d NET Data Provider NET Connection Command & Parameter DataReader DataSet & DataAdapter Transaction 45 © 2009 Khoa CNTT - HKHTN 45 46 L p trình Thi t k Web. .. Accounts SET balance = balance - 100 SET balance=balance - 100 WHERE number = 123; WHERE number = 123; COMMIT SELECT balance FROM Accounts SELECT balance WHERE number = 123 FROM Accounts ROLLBACK 49 © 2009 Khoa CNTT - WHERE number = 123 50 HKHTN © 2009 Khoa CNTT - L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Phantoms L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET M c Transaction...L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET it ng DataSet DataAdapter L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Mô hình it ng DataAdapter DataSet – Là c s d li u database) – M i thao tác thay không làm nh h khô là h c l u tr trong b nh chính (in memory (in-memory SqlDataAdapter S lD t Ad t SelectCommand UpdateCommand... int nvarchar(50) Balance double WHERE number = 123; UPDATE Accounts SET balance = balance - 500 WHERE number = 123; 47 © 2009 Khoa CNTT - HKHTN 48 © 2009 Khoa CNTT - HKHTN L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Dirty Reads NonNon-repeatable Reads Transaction 1 Transaction 2 Transaction 1 SELECT balance SELECT balance... Commit(…) RollBack(…) ( ) Save(SavePointName) 57 T o save point © 2009 Khoa CNTT - có th Rollback HKHTN 58 L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Ví d - Thi t l p IsolationLevel © 2009 Khoa CNTT - HKHTN L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET T ng k t Phân bi t ODBC, OLEDB, ADO, ADO.NET Mô hình s d ng ADO NET – Connection – Command & Parameter – DataReader... n trên DataSet, ng n CSDL SqlDataReader DataAdapter SqlCommand – Fill: L y d li u t CSDL vào DataSet SqlConnection – Update: Theo v t các thay i trên d li u trên DataSet c p nh t d li u ng c vào CSDL sp_SELECT SELECT 41 © 2009 Khoa CNTT - HKHTN 42 Thu c tính sp_DELETE DELETE HKHTN L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET ng SqlDataAdapter M t s thu c tính ph sp_INSERT INSERT... 2 – Bài 7: Thao tác CSDL v i ADO NET M ts v n truy xu t d li u © 2009 Khoa CNTT - HKHTN L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Lost Update ng th i Lost Update Transaction 1 Transaction 2 Dirty Reads SELECT balance SELECT balance Non-repeatable Reads FROM Accounts FROM Accounts WHERE number = 123; WHERE number = 123; Phantoms UPDATE Accounts Accounts SET balance = balance - 100... tác CSDL v i ADO NET L p trình Thi t k Web 2 – Bài 7: Thao tác CSDL v i ADO NET Th c hi n giao tác v i ng d ng CSDL Có 2 cách ng d ng ng Th c hi n giao tác v i ng d ng CSDL th c hi n 1 giao tác (nhi u l nh T-SQL) cho Cách 1 : – Cách 1 : Vi t storeproc HQTSQL + G i th c hi n store thông qua i t ng SqlCommand + SqlParamenter – Cách 2 : Qu n lý Giao tác t ng câu truy v n T-SQL g y phía ng d ng, ch . Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET ADO NETADO NET làlà gìgì ?? ADO . NET ADO . NET làlà gìgì ??  ADO. NET AtiXDtObjtNET – A c ti ve X D a t a Obj ec t . NET – Công ngh caMicrosoft Phát ti t ADO – Phát t r i n t ADO –. Giithiu ADO. NET  KintrúcADO .NET  Mô hình s dng ADO .NET  .NET Data Provider © 2009 Khoa CNTT - HKHTN 8 Lp trình và Thitk Web 2 – Bài 7: Thao tác CSDL vi ADO .NET Kintrúcca ADO NETKintrúcca. 2 – Bài 7: Thao tác CSDL vi ADO .NET Ni dungNi dung Ni dungNi dung  GiithiuADO .NET  Kin trúc ADO. NET  Mô hình s dng ADO .NET  .NET Data Provider © 2009 Khoa CNTT - HKHTN 3 Lp

Ngày đăng: 09/05/2014, 14:41

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan