Bài giảng Lập trình cơ sở dữ liệu - Chương 3: Lấy dữ liệu theo cách disconnected – DataAdapter
lượt xem 5
download
Chương 3 - Lấy dữ liệu theo cách disconnected – DataAdapter. Nội dung chính trong chương này gồm: Khái niệm DataAdapter, lớp DataAdapter, truy vấn 1 bảng, truy vấn nhiều bảng, truy vấn lược đồ cơ sở dữ liệu, ánh xạ - mapping. Mời các bạn tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình cơ sở dữ liệu - Chương 3: Lấy dữ liệu theo cách disconnected – DataAdapter
- Chương 3 LẤY DỮ LIỆU THEO CÁCH Disconnected – DataAdapter
- Nội dung Khái niệm DataAdapter Lớp DataAdapter Truy vấn 1 bảng Truy vấn nhiều bảng Truy vấn lược đồ CSDL Ánh xạ - Mapping 2
- Khái niệm DataAdapter Định nghĩa “DataAdapter” • DataAdapter là 1 đối tượng giúp chúng ta dùng các đối tượng connected (xxxConnection, xxxCommand) để – Lấy dữ liệu từ data source và lưu trữ dữ liệu đó vào trong các đối tượng disconnected (DataSet, DataTable) – Cập nhật dữ liệu từ các đối tượng disconnected vào data source 3
- Khái niệm DataAdapter Đặc điểm của DataAdapter • DataAdapter là “cầu nối” giữa phần connected và phần disconnected trong ADO.NET • DataAdapter được dùng khi DataSet/DataTable cần tương tác với data source • DataAdapter có thể dùng để lấy dữ liệu từ CSDL và cập nhật dữ liệu vào CSDL 4
- Khái niệm DataAdapter DataSet DataAdapter Data source DataTable Fill Fill Update Update DataTable DataAdapter Fill Fill Update Update 5
- Lớp DataAdapter Cấu trúc DataAdapter Mô hình DataAdapter Tạo đối tượng DataAdapter Một số properties và phương thức DataAdapter 6
- Lớp DataAdapter Cấu trúc DataAdapter DataAdapter gồm có 4 đối tượng Command. Mỗi đối tượng làm một nhiệm vụ riêng biệt • SelectCommand • InsertCommand • UpdateCommand • DeleteCommand 7
- Lớp DataAdapter Mô hình DataAdapter XxxDataAdapter SelectCommand UpdateCommand InsertCommand DeleteCommand XxxDataReader XxxDataReader XxxCommand XxxCommand XxxCommand XxxCommand XxxCommand XxxCommand XxxCommand XxxCommand XxxConnection XxxConnection sp_SELECT sp_UPDATE sp_INSERT sp_DELETE 8
- Lớp DataAdapter Tạo đối tượng DataAdapter Sử dụng đối tượng xxxDataAdapter phụ thuộc vào Data source • SqlDataAdapter • OleDbDataAdapter • OracleDataAdapter • OdbcDataAdapter 9
- Lớp DataAdapter Tạo đối tượng DataAdapter Tạo đối tượng DataAdapter cần 2 thông tin • Connection • Command SqlDataAdapter da; da = new SqlDataAdapter(); da = new SqlDataAdapter(SqlCommand selectCmd); da = new SqlDataAdapter(string selectCmd, SqlConnection conn); da = new SqlDataAdapter(string selectCmd, string strConn); Gán đối tượng Command cho DataAdapter SqlCommand selectCmd; … da.SelectCommand = selectCmd; 10
- Lớp DataAdapter Một số properties và phương thức DataAdapter DataAdapter properties • SelectCommand • InsertCommand • UpdateCommand • DeleteCommand Methods • Fill(DataTable table) Fill(DataSet ds) Fill(DataSet ds, string srcTable) • FillSchema(DataSet ds, SchemaType type) • Update(DataSet ds) Update(DataTable table) 11
- Truy vấn 1 bảng 5 bước cơ bản • Bước 1: Tạo đối tượng DataTable • Bước 2: Tạo đối tượng Connection • Bước 3: Tạo đối tượng Command chứa 1 câu truy vấn Select • Bước 4: Tạo đối tượng DataAdapter • Bước 5: Gọi phương thức Fill 12
- Truy vấn 1 bảng Dùng đối tượng DataTable để lưu dữ liệu class MyForm : Form { private DataTable svTable; public MyForm() { InitializeComponent(); svTable = new DataTable(); } } 13
- Truy vấn 1 bảng Tạo đối tượng DataAdapter và lấy dữ liệu private void buttonFillData_Click(object sender, EventArgs e) { string strConn = …; string strSql = “Select … ”; SqlConnection conn = new SqlConnection(strConn); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = strSql; SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(svTable); conn.Dispose(); } 14
- Truy vấn 1 bảng Những thao tác thực hiện khi phương thức Fill được gọi • Mở kết nối • Tạo đối tượng DataTable để chứa dữ liệu nếu chưa có bảng đó trong DataSet (tên bảng mặc định là Table, Table1, ... Nếu không chỉ rõ tên bảng trong hàm Fill) • Lấy dữ liệu đưa vào DataTable • Đóng kết nối 15
- Truy vấn nhiều bảng 5 bước cơ bản • Bước 1: Tạo đối tượng DataSet • Bước 2: Tạo đối tượng Connection • Bước 3: Tạo đối tượng Command chứa nhiều câu truy vấn select • Bước 4: Tạo đối tượng DataAdapter • Bước 5: Gọi phương thức Fill 16
- Truy vấn nhiều bảng Dùng đối tượng DataSet để lưu dữ liệu class MyForm : Form { private DataSet dsData; public MyForm() { InitializeComponent(); dsData = new DataSet(); } } 17
- Truy vấn nhiều bảng Tạo đối tượng DataAdapter và lấy dữ liệu private void buttonFillData_Click(object sender, EventArgs e) { string strConn = …; string strSql = “Select … ; Select …”; SqlConnection conn = new SqlConnection(strConn); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = strSql; SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dsData); conn.Dispose(); } 18
- Truy vấn nhiều bảng Chú ý • DataSet có thể chứa nhiều bảng – Cùng thuộc 1 data source – Thuộc nhiều data source khác nhau • Truy vấn nhiều bảng có thể thực hiện bằng cách khác: – Truy vấn nhiều lần, mỗi lần 1 bảng • Khi gọi da.Fill(dsData); – Tên bảng lần lược được đặt tên là: Table, Table1, Table2, ... • Khi gọi da.Fill(dsData, “Name”); – Tên bảng lần lược được đặt tên là: Name, Name 1, Name 2, ... 19
- Truy vấn lược đồ CSDL Vấn đề • Khi gọi phương thức Fill nhiều lần trên 1 DataTable/DataSet, dữ liệu sẽ được thêm vào DataTable/DataSet nhiều lần vi phạm ràng buộc CSDL Nguyên do • DataAdapter không thể xác định được các dòng trùng lập do không có thông tin lược đồ (shema) của các DataTables bên trong DataSet 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình cơ sở dữ liệu JDBC - Chương 8
39 p | 701 | 235
-
Bài giảng Lập trình cơ sở dữ liệu với ADO.Net
29 p | 102 | 17
-
Bài giảng Lập trình cơ sở dữ liệu - Chương 1: Giới thiệu ADO.NET và kết nối đến cơ sở dữ liệu
52 p | 105 | 13
-
Bài giảng Lập trình cỡ nhỏ
57 p | 70 | 6
-
Bài giảng Lập trình cơ bản: Bài 5 - TS. Ngô Quốc Việt
39 p | 62 | 6
-
Bài giảng Lập trình cơ sở dữ liệu JDBC
36 p | 14 | 5
-
Bài giảng Lập trình Cơ sở dữ liệu – Java: Bài 3.2 - Nguyễn Hữu Thể
30 p | 48 | 5
-
Bài giảng Lập trình cơ sở dữ liệu - Chương 4: Cập nhật dữ liệu
47 p | 76 | 5
-
Bài giảng Lập trình cơ bản: Bài 6 - Chu Thị Hường
38 p | 11 | 5
-
Bài giảng Lập trình cơ bản: Chương 4 - Giải thuật xử lý thông tin và ngôn ngữ lập trình
36 p | 104 | 5
-
Bài giảng Lập trình cơ bản: Giới thiệu - TS. Ngô Quốc Việt
15 p | 100 | 5
-
Bài giảng Lập trình cơ bản: Bài 3 - TS. Ngô Quốc Việt
37 p | 68 | 5
-
Bài giảng Lập trình cơ bản: Bài 4 - TS. Ngô Quốc Việt
38 p | 72 | 5
-
Tập bài giảng Lập trình cơ bản
208 p | 30 | 4
-
Bài giảng Lập trình cơ sở: Bài 1 - ThS. Võ Hà Quang Định
59 p | 87 | 4
-
Bài giảng Lập trình Cơ sở dữ liệu – Java: Bài 3.1 - Nguyễn Hữu Thể
36 p | 32 | 3
-
Bài giảng Lập trình Cơ sở dữ liệu – Java: Bài 2 - Nguyễn Hữu Thể
34 p | 41 | 3
-
Bài giảng Lập trình Cơ sở dữ liệu – Java: Bài 0 - Nguyễn Hữu Thể
3 p | 56 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn