Bài giảng Lập trình trên môi trường Window: Chương 6 - ThS. Dương Thành Phết
lượt xem 4
download
Bài giảng "Lập trình trên môi trường Window - Chương 6: Các đối tượng trong ADO.NET" cung cấp cho người học các kiến thức" Đối tượng Connection, đối tượng Command, đối tượng DataReadder, giao tiếp CSDL theo mô hình 1 lớp,... Mời các bạn cùng tham khảo nội dung chi tiết.
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 trên môi trường Window: Chương 6 - ThS. Dương Thành Phết
- Chương 6: CÁC ĐỐI TƯỢNG TRONG ADO.NET Giảng Viên: ThS. Dương Thành Phết Email: phetcm@gmail.com – YahooID: phetcm Website: http://www.thayphet.net Tel: 0918158670 1
- http://www.thayphet.net NỘI DUNG 1. Đối tượng Connection 2. Đối tượng Command 3. Đối tượng DataReadder 4. Đối tượng Dataset 5. Đối tượng DataAdapter 6. Giao tiếp CSDL theo mô hình 1 lớp 7. Giao tiếp CSDL theo mô hình 1 lớp 2
- http://www.thayphet.net 1. ĐỐI TƯỢNG CONNECTION Vai trò của Connection trong ADO.net là tạo kết nối giữa ứng dụng với CSDL. Khi cthực hiện kết nối cần xác định các thông tin cho Connection thông qua thuộc tính Connection String. Tùy thuoc vào Data Provider Với SQLServer • Server name • Database name • User name • Password Với Access • Database name • User name • Password 3
- http://www.thayphet.net 1. ĐỐI TƯỢNG CONNECTION Thuộc tính ConnectionString: Chuỗi kết nối DataSource State: Tình trạng kết nối: Connecting (đang kêt nối), Open (đã. kêt nối), Broken (kết nối bị ngắt khi đã kết nối), Closed (kết nối đã đóng) . . . Phương thức Open(): Thiết lập kết nối đến DS Close(): Đóng kết nối với DS 4
- http://www.thayphet.net 1. ĐỐI TƯỢNG CONNECTION Các bước tạo kết nối Bước 1: Khởi tạo đối tượng Connection với tham số connection string đối với database tương ứng. Bước 2: Thiết lập kết nối đến database bằng phương thức Open. Bước 3: Thực hiện các thao tác khai thác dữ liệu (select, insert, delete, update) từ database. Bước 4: đóng kết nối đến database bằng phương thức Close. 5
- http://www.thayphet.net 1. ĐỐI TƯỢNG CONNECTION Tạo kết nối với SQLServer (cách 1) using System.Data.SqlClient; .... SqlConnection cnn = new SqlConnection(); cnn.ConnectionString = server=localhost; database=Northwind; uid=sa; pwd=sa"; cnn.Open(); //Mở kết nối //xử lý trong quá trình kết nối … cnn.Close(); //Đóng két nối Sử dụng tên miền: System.Data.SqlClient; Server: Chỉ định tên máy chứa Database Database: Chỉ định tên cơ sở dữ liệu Uid: Tên tài khỏan đăng nhập SQLServer (nếu có) 6 Pwd: Mật khẩu đăng nhập (nếu có)
- http://www.thayphet.net 1. ĐỐI TƯỢNG CONNECTION Tạo kết nối với SQLServer (cách 2) using System.Data.SqlClient; .... SqlConnection cnn = new SqlConnection(); cnn.ConnectionString = “Data Source=localhost; Initial Catalog=Northwind; UserId=sa; Password=sa” cnn.Open(); //Mở kết nối //xử lý trong quá trình kết nối … cnn.Close(); //Đóng két nối DataSource: Chỉ định tên máy chứa Database Initial Catalog: Chỉ định tên cơ sở dữ liệu Userid: Tên tài khỏan đăng nhập SQLServer (nếu có) Password: Mật khẩu đăng nhập (nếu có) 7
- http://www.thayphet.net 1. ĐỐI TƯỢNG CONNECTION Tạo kết nối với MS Access using System.Data.OleDb; .... OleDBConnection cnn = new OleDbSqlConnection(); cnn.ConnectionString = “Provider = Microsoft.Jet.OLEDB.4.0; Data Source=QLHOCSINH.MDB"; cnn.Open(); //xử lý trong quá trình kết nối cnn.Close(); Đối với MS Access 2007/2010 thì Provider=Microsoft.ACE.OLEDB.12.0 8
- http://www.thayphet.net 1. ĐỐI TƯỢNG CONNECTION Minh họa: using System.Data.SqlClient; .... SqlConnection cnn = new SqlConnection(); private void btLogin_Click(object sender, EventArgs e) { String Tenmay = txtServername.Text; String TenDN = txtUsername.Text; String Matkhau = txtPassword.Text; String TenCSDL = txtDatabasename.Text; cnn.ConnectionString = "Server=" + Tenmay + "; Database=" + TenCSDL + " ; User Id=" + TenDN + "; Password= " + Matkhau; try { cnn.Open(); MessageBox.Show("Kết nối thành công", "Thông báo"); cnn.Close(); } catch { MessageBox.Show("Kết nối thất bại", "Thông báo"); } 9 }
- http://www.thayphet.net 2. ĐỐI TƯỢNG COMMAND Quá trình tương tác với database cần phải biết hành động nào muốn xảy ra. Điều này được thực hiện bởi đối tượng command. Dùng đối tượng command để gửi một câu lệnh SQL tới database. Một đối tượng command dùng một đối tượng connection để xác định database nào sẽ được truy xuất. Có thể dùng một đối tượng command riêng lẻ để thực thi lệnh trực tiếp, hoặc gắn cho một SqlDataAdapter 10
- http://www.thayphet.net 2. ĐỐI TƯỢNG COMMAND 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 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 11
- http://www.thayphet.net 2. ĐỐI TƯỢNG COMMAND SQL Command với câu lệnh Select SqlConnection cnn = new SqlConnection(); cnn.ConnectionString = “Data Source=localhost; Initial Catalog=QLsinhvien; User Id=sa; Password=sa” cnn.Open(); //Mở kết nối SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = “Select Count(*) From TableName”; int n = (int) cmd.ExecuteScalar(); cnn.Close(); 12
- http://www.thayphet.net 2. ĐỐI TƯỢNG COMMAND SQL Command với câu lệnh Insert, Update, Delete ..... SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; String MaMH = txtMaMH.Text; String TenMH = txtTenMH.Text; int Sotiet = int.Parse(txtSotiet.Text); cmd.CommandText = "Insert into Monhoc(MaMH,TenMH, Sotiet) values('" + MaMH + "',N'" + TenMH +"'," + Sotiet +")"; cmd.ExecuteNonQuery(); 13
- http://www.thayphet.net 3. ĐỐI TƯỢNG DATAREADER Nhiều thao tác dữ liệu chỉ lấy một luồng dữ liệu để đọc. Đối tượng data Reader cho phép lấy được kết quả của câu lệnh SELECT từ đối tượng command. Để tăng hiệu suất, dữ liệu trả về từ một data reader là một luồng dữ liệu fast forward-only có lợi về mặt tốc độ. Là đối tượng truy cập dữ liệu trực tiếp sử dụng con trỏ phí Server và duy trì kết nối trong suốt quá trình đọc dữ liệu. Tuy nhiên nếu phải thao tác dữ liệu, thì một DataSet sẽ là một đối tượng tốt hơn để làm việc 14
- http://www.thayphet.net 3. ĐỐI TƯỢNG DATAREADER Các thuộc tính FieldCout: Số cột trên dòng hiện hành của DataReader IsClosed: Cho biết dataReader đã đóng Item: Trị của cột truyền vào. Tham số truyền vào là tên cột (hoặc số thứ tự từ 0) 15
- http://www.thayphet.net 3. ĐỐI TƯỢNG DATAREADER Các phương thức Close: Đóng DataReader GetFieldType: Trả về kiểu dữ liệu của cột truyền vào. GetName: Trả về tên của cột truyền vào GetValue: Trả về trị của cột truyền vào Read : Di chuyển đến dòng kế tiếp và trả về true nếu còn dòng để di chuyển, ngược lại trả về False. Trong khi dataReader đang mở các thao tác dữ liệu trên nguồn dữ liệu đều không thể cho đến khi dataRaeder đóng lại bằng lệnh Close. 16
- http://www.thayphet.net 3. ĐỐI TƯỢNG DATAREADER ..... SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = "Select * From Monhoc"; cmd.CommandType = CommandType.Text; SqlDataReader dr ; dr = cmd.ExecuteReader(); lstMonhoc.Items.Clear(); while (dr.Read()) lstMonhoc.Items.Add(dr["TenMH"]); 17
- http://www.thayphet.net 4. DATA ADAPTER 4.1. Giới thiệu Để lầy dữ liệu từ nguồn dữ liệu vầ cho ứng dụng, chúng ta sử dụng một đối tượng gọi là DataAdapter. Đối tượng này cho phép ta lấy cấu trúc và dữ liệu của các bảng trong nguồn dữ liệu. DataAdapte là một bộ gồm 4 đối tượng command: SelectCommand: Cho phép lấy thông tin từ nguồn. InsertCommand: Cho phép thêm dữ liệu vào bảng. UpdateCommand: Cho phép điều chỉnh dữ liệu của bảng. DeleteCommand: Cho phép xóa dữ liệu của bảng. 18
- http://www.thayphet.net 4. DATA ADAPTER Đôi khi cần làm việc ở chế độ read-only và ít khi cần thay đổi dữ liệu nguồn, cần lưu trữ tạm dữ liệu trong bộ nhớ để hạn chế truy xuất đến database. Data adapter làm điều này dễ dàng bằng cách giúp quản lý dữ liệu trong chế độ ngắt kết nối. Data Adapter sẽ đổ vào DataSet khi đọc dữ liệu và thực hiện thay đổi dữ liệu một lượt vào database. Data adapter chứa một tham chiếu đến đối tượng connection và mở/đóng kết nối tự động khi đọc và ghi dữ liệu vào database. 19
- http://www.thayphet.net 4. DATA ADAPTER 4.2. Tạo DataAdapter DataAdapter = new DataAdapter(Lệnh, biến connnection); Với SQLSever: sqlDataAdapterDataAdapter = new SQLDataAdapter(Lệnh, biến connection); DataAdapter chỉ thao tác với một nguồn dữ liệu qua một đối tượng connection đang kết nối, khi Connection chưa mở thì DataAdapter sẽ tự động mở kết nối khi cần và đóng lại. 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình trên Windows: Giới thiệu môn học - Trần Minh Thái
16 p | 142 | 16
-
Bài giảng Lập trình trên Windows: Chương 1 - Trần Minh Thái
68 p | 116 | 16
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 1)
141 p | 101 | 15
-
Bài giảng Lập trình trên Windows: Chương 3 - Trần Minh Thái
220 p | 90 | 14
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 2)
96 p | 84 | 14
-
Tập bài giảng Lập trình trên nền Web
281 p | 44 | 10
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 3)
29 p | 73 | 10
-
Bài giảng Lập trình trên môi trường Window: Chương 1 - ThS. Dương Thành Phết
29 p | 90 | 9
-
Bài giảng Lập trình trên môi trường Windows: Chương 6 - Phạm Minh Tuấn
42 p | 101 | 7
-
Bài giảng Lập trình trên môi trường Window: Chương 3 - ThS. Dương Thành Phết
123 p | 51 | 6
-
Bài giảng Lập trình trên môi trường Window: Chương 8 - ThS. Dương Thành Phết
5 p | 76 | 6
-
Bài giảng Lập trình trên môi trường Window: Chương 7 - ThS. Dương Thành Phết
30 p | 41 | 6
-
Bài giảng Lập trình trên môi trường Windows: Phần 1 - Windows control
31 p | 96 | 5
-
Bài giảng Lập trình trên môi trường Window: Chương 2 - ThS. Dương Thành Phết
45 p | 52 | 5
-
Bài giảng Lập trình trên môi trường Window: Chương 5 - ThS. Dương Thành Phết
28 p | 48 | 5
-
Bài giảng Lập trình trên môi trường Window: Chương 4 - ThS. Dương Thành Phết
59 p | 68 | 4
-
Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 1 - Hồ Hoàn Kiếm
19 p | 67 | 4
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