1. Trang chủ
  2. » Giáo án - Bài giảng

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 486 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 820,23 KB

Nội dung

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