Thông tin tài liệu:
Khi phát triển các ứng dụng trên nền web thì công việc chủ yếu phải giải quyết là xử lý Cơ sở dữ liệu • ADO.NET (Active Data Object) cho phép thao tác Cơ sở dữ liệu :– Các ứng dụng webform – Các ứng dụng winform
Nội dung trích xuất từ tài liệu:
Bài 5:ADO.NET Bài 5: ADO.NET5.1. Khái niệm5.2. Các lớp và không gian tên cơ bản của ADO.NET5.3. Thao tác với dữ liệu kết nối – Connected5.4. Thao tác với dữ liệu không kết nối -Disconnected 5.1 Khái niệm ADO.NET• Khi phát triển các ứng dụng trên nền web thì công việc chủ yếu phải giải quyết là xử lý Cơ sở dữ liệu• ADO.NET (Active Data Object) cho phép thao tác Cơ sở dữ liệu : – Các ứng dụng webform – Các ứng dụng winform Mục tiêu chính của ADO.NET là• Cung cấp các lớp để thao tác CSDL trong cả hai môi trường là phi kết nối (Disconected data) và kết nối (Connected data)• Tích hợp chặt chẽ với XML (Extensible Markup Language)• Tương tác với nhiều nguồn dữ liệu thông qua mô tả dữ liệu chung• Tối ưu truy cập nguồn dữ liệu (OLE DB & SQL server)• Làm việc trên môi trường InternetADO vs. ADO.NET 5.2 Các lớp và không gian tên cơ bản của ADO.NET• Lớp ADO.NET được tìm thấy trong namespace System.Data, và được tích hợp với lớp XML được tìm thấy trong namespace System.Xml Connection• Không gian tên sử dụng trong ADO.NET gồm: – System.Data – System.Data.Common: • ADO.NET Dataset: Là thành phần chính của kiến trúc kết nối gián đoạn của ADO.NET. Dataset bao gồm tập hợp một hoặc nhiều đối tượng DataTable • .NET Data Provider: Một tập hợp các thành phần bao gồm các đối tượng – System.Data.SqlClient: Dùng cho cơ sở dữ liệu SQL – System.Data.OleDb: Dùng cho cơ sở dữ liệu access – System.Data.OracleClient: Dùng cho cơ sở dữ liệu OracleĐón nhận kết Cấu trúc Kho chứa cácquả trả về từ bảng đối tượng CommandThực hiện các Cầu nối giữacâu lệnh SQL nguồn dữ liệu và thao tác với các bảng được CSDL cached trong bộ Thực hiện nhớnhiệm vụ kếtnối đến CSDL ADO.NET cho phép làm việc ở cả hai chế độ: • Chế độ Kết nối (Connected) • Phi kết nối (Disconnected) Connection Connection Application Database• Ý nghĩa: Kết nối đến CSDL• Thuộc tính: • ConnectionString: chuỗi kết nối DataSource• Phương thức: • Open(): thiết lập kết nối đến DataSource • Close(): đóng kết nối với DataSource Command Connection Command Application Database• Ý nghĩa: Thực hiện các câu lệnh SQL để thao tác với CSDL• Thuộc tính: • Connection: kết nối để thực hiện lệnh • CommandText: câu lệnh cần thực hiện • CommandType: loại câu lệnh (Text, TableDirect, StoredProc)• Phương thức: • ExecuteScalar(): thực hiện câu lệnh và trả về giá trị đơn • ExecuteNonQuery(): gọi các lệnh SQL, store, trả về số row bị tác động (Insert, Update, Delete…) • ExecuteReader(): thực hiện lệnh và trả về DataReader Command với Parameter• Khái niệm: Câu lệnh truy vấn SQL nhận giá trị thông qua các tham số tại thời điểm thực thi• Cách sử dụng: – Tạo tham số trong câu lệnh SQL – Khai báo Parameter với những thông tin chính: • tên tham số • kiểu dữ liệu • loại tham số vào/ra • giá trị – Liên kết Parameter với Command Command với Parameter• Tạo tham số trong câu SqlCommand dc = new lệnh SQL SqlCommand(select * from sinhvien ? where phai=@phai, ketnoi);• Khai báo Parameter với SqlParameter thamso = new những thông tin chính: SqlParameter(); thamso.ParameterName = tham_so; – tên tham số string gtthamso = nu; thamso.SqlDbType = SqlDbType.NChar; – kiểu dữ liệu thamso.Direction = – loại tham số vào/ra ParameterDirection.Input; dc.Parameters.AddWithVal – giá trị thamso.SqlValue = nu; ue(@phai, gtthamso);• Liên kết Parameter với dc.Parameters.Add(tham_so); Command DataReader Connection DataReader Command Application Database• Ý nghĩa: Nhận kết quả trả về từ Command• Thuộc tính: • HasRow: cho biết câu truy vấn có trả về dữ liệu• Phương thức: • Read(): đọc một mẫu tin • [i]: truy xuất đến cột i của mẫu tin được đọc • Close(): đóng Data Provider• Tạo kết nối đến nguồn dữ liệu.• Thực hiện các lệnh truy vấn SQL trên nguồn dữ liệu.• Cung cấp thư viện xử lý cho 3 loại nguồn dữ liệu khác nhau (3 provider): SQL Server, OLE DB và ODBC.• Mỗi provider được quản lý bởi một namespace, nằm trong namespace System.Data.• Có 4 thành phần chính trong một provider: – Connection – Command – DataReader – DataAdapter DataAdapter• Ý nghĩa: Cầu nối giữa CSDL và DataSet• Thuộc tính và phương thức: • Fill Fill(DataSet): Sử dụng SelectCommand lấy dữ liệu từ Data Source đổ vào DataSet • Update Update(DataSet): Cập nhật dữ liệu trong DataSet vào DataSource • Các thành phần: InsertCommand, UpdateCommand, DeleteCommand • *.AcceptChanges();14 DataSetDataSet DataTable DataTable schema.Tables[...] .Columns[..] .Columns[...] DataColumn DataColumn .Rows[...] .Rows[..] ...