intTypePromotion=1
ADSENSE

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

Chia sẻ: Minh Nguyệt | Ngày: | Loại File: PDF | Số trang:51

32
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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ó)
  7. 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
  8. 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
  9. 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 }
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2