1. Trang chủ
  2. » Công Nghệ Thông Tin

Lap trinh ket noi database c

13 0 0

Đ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

CƠ SỞ DỮ LIỆU NÂNG CAO – PHÂN TÍCH THIẾT KẾ HTTT Tháng 5/2014 LẬP TRÌNH KẾT NỐI CSDL – C# Tóm tắt nội dung thực hành: Bộ mơn Hệ thống thông tin Khoa Công nghệ thông tin ĐH Khoa học tự nhiên TP HCM - Giới thiệu ADO.NET - Ứng dụng minh họa MỤC LỤC Mục tiêu tóm tắt nội dung .1 Hướng dẫn cụ thể 2.1 Giới thiệu tổng quan .1 2.2 Trình tự thao tác CSDL với ADO.Net 2.3 Đọc liệu 2.4 Ghi liệu 2.5 Ví dụ .5 Bài tập nhà 11 Mục tiêu tóm tắt nội dung Sau hoàn thành tập sinh viên có thể: - Xây dựng ứng dụng (C#) window form kết nối CSDL với chức Hướng dẫn cụ thể 2.1 Giới thiệu tổng quan  DataSet DataTable - DataSet trung tâm kiến trúc ADO.NET, mục tiêu hỗ trợ hiệu thao tác liệu từ nhiều nguồn, tương tác liệu mơ hình ứng dụng nhiều lớp (multiple tier) DataSet xem cấu trúc liệu để lưu trữ liệu nhớ - DataSet chứa tập đối tượng DataTable (có cấu trúc logic tương tự bảng CSDL), ràng buộc chúng mối quan hệ bảng Một đối tượng DataTable (hoặc view thuộc lớp đối DataView), kết buộc với control ComboBox, DataList, DataGrid, … - Các lớp đối tượng DataSet, DataTable, DataView, DataColumn,… nằm namespace System.Data  DataProvider - Trong namespace System.Data có namespace tương ứng với loại Data Provider: Data Provider for SQL Server (System.Data.SqlClient), Data Provider for ODBC (System.Data.Odbc) Data Provider for OLE DB (System.Data.OleDb) Ở ta sử dụng SQL Server, nên sử dụng trực tiếp Data Provider for SQL Server (tất nhiên ta thơng qua Provider for ODBC OLE DB để thao tác với CSDL SQL Server) - Các lớp đối tượng để kết nối thao tác với CSDL nằm namespace System.Data.SqlClient là: SqlConnection, SqlCommand, Bộ môn Hệ thống thông tin | Khoa CNTT | ĐH KHTN TP HCM | 1/2013 Trang SqlDataReader, SqlDataAdapter (Tương tự hai Provider lại)  SQLConnection Một đối tượng thuộc lớp thể kết nối đến CSDL Các thông số để kết nối định Connection String Ví dụ: ConnectionString = “Data Source = ; Initial Catalog = Northwind; Integrated Security = SSPI” //dùng Window Authentication : ConnectionString = “Data Source = ; Initial Catalog = Northwind; User ID = ws01; Password = ” (dấu “.” local host)  SQLCommand Một đối tượng thuộc lớp thể lệnh thực thi HTQ CSDL Có thể thiết lập thuộc tính CommandType đối tượng Command để lệnh khai báo dạng text tên stored procedure  SQLDataReader Lớp đối tượng dùng để đọc kết truy vấn từ CSDL Có thể xem SqlDataReader RecordSet đọc đọc chiều  SQLDataAdapter Một đối tượng Data Adapter xem cầu nối DataSet CSDL, để chuyển liệu từ CSDL vào DataSet cập nhật thay đổi DataSet trở lại vào CSDL 2.2 Trình tự thao tác CSDL với ADO.Net - Tạo lập thiết lập thông số cho đối tượng Connection (nếu chưa thiết lập trước đó) - Mở kết nối phương thức Open đối tượng Connection - Thực công việc đọc/ghi với CSDL vừa kết nối tới - Đóng kết nối Lưu ý:  Không phải luôn mở đóng kết nối thực lệnh, mở kết nối lần thực nhiều lệnh trước đóng  Ln sử dụng try catch để bắt lỗi phát sinh từ CSDL thực lệnh mở kết nối thực thi lệnh đối tượng command, có lỗi hiển thị thông điệp lỗi dễ hiểu cho NSD 2.3 Đọc liệu Trong phần mô tả số điểm cần lưu ý, sinh viên tự tìm hiểu cách thực cụ thể ví dụ ebook cung cấp MSDN  DataReader - DataReader cách tốt (tiết kiệm tài nguyên - nhớ) để đọc liệu trường hợp cần lấy liệu để hiển thị, không cần thao tác phức tạp hay thao tác nhiều tập liệu (không cần đến datatable hay dataset)  DataAdapter - Như nói trên, ta sử dụng DataAdapter cầu nối để lấy liệu từ CSDL vào DataSet Ta định nghĩa khơng định nghĩa trước bảng (đối tượng DataTable) cấu trúc bảng nhận liệu Nếu lệnh trả n tập liệu, n bảng tương ứng tạo dataset để chứa tập liệu - Để lấy liệu, ta sử dụng phương thức Fill đối tượng DataAdapter Phương thức có nhiều overload, hỗ trợ nhiều cách truyền tham số (DataSet, DataTable, DataSet tên DataTable, …) - Phương thức Fill gọi mà không cần mở kết nối trước, trường hợp này, kết nối tương ứng mở đóng lại sau thực xong việc lấy liệu Bộ môn Hệ thống thông tin | Khoa CNTT | ĐH KHTN TP HCM | 1/2013 Trang - Ghi chú: Trong trường hợp muốn liệu đổ vào đối tượng DataTable thỏa ràng buộc khóa (tự động loại bỏ liệu trùng khóa có), thiết lập thuộc tính MissingSchemaAction đối tượng DataAdapter AddWithKey Tuy nhiên, thiết lập lựa chọn làm chậm đáng kể trình đọc liệu, thay vào đó, nên định nghĩa trước cấu trúc khóa đối tượng DataTable này, đọc bình thường, tác dụng tương tự  ExecuteScalar - Trong trường hợp câu truy vấn trả giá trị, sử dụng phương thức ExecuteScalar đối tượng Command để thực thi truy vấn nhận giá trị trả - Ghi chú: Trong trường hợp gọi thực thi thủ tục (với CommandType stored procedure), giá trị tham số output khai báo Parameters Command cập nhật tương ứng 2.4 Ghi liệu  ExecuteNonQuery - Cách thông dụng để ghi liệu đưa trực tiếp lệnh cập nhật liệu (Insert, Update, Delete, lệnh tạo đối tượng CSDL) (và hầu hết lệnh T-SQL khác), tên stored procedure thực công việc vào đối tượng Command, sau gọi phương thức ExecuteNonQuery đối tượng Command để thực  DataAdapter - DataAdapter thực cập nhật CSDL theo cách ánh xạ thay đổi DataSet vào CSDL (thành thao tác insert, update, delete tương ứng) - Cơ sở việc ánh xạ việc quản lý tình trạng dịng (DataRow) DataTable, thể qua thuộc tính RowState Khi dịng DataTable thêm, xóa, cập nhật, có trạng thái tương ứng Inserted, Deleted, Updated, sau phương thức AcceptChanges gọi, trở lại trạng thái UnChanged - Để thực cập nhật ta gán InsertCommand, DeleteCommand UpdateCommand cho đối tượng DataAdapter, sau gọi phương thức Update Khi đó, tất thay đổi DataSet ánh xạ CSDL theo cách mà định Commands - Phương thức Update DataAdapter có nhiều overload, cho phép ta lựa chọn Update dịng, table hay tồn DataSet 2.5 Ví dụ Cho CSDL QLSV với bảng LOPHOC SINHVIEN hình: Thiết kế form Danh sách sinh viên gồm combobox Lớp học datagridview danh sách sinh viên hình dưới: Bộ môn Hệ thống thông tin | Khoa CNTT | ĐH KHTN TP HCM | 1/2013 Trang Xây dựng ứng dụng QLSV Net Framework 4.5 với chức năng: xem danh sách sinh viên lớp học, thêm/xóa sinh viên khỏi lớp học Ứng dụng thiết kế theo kiến trúc lớp (GUI, BUS, DAO) Hàm KetNoiCSDL (AbstractDAO.cs) sử dụng đối tượng SqlConnection với chuỗi kết nối lưu file App.config là: "Data Source=.; Initial Catalog=QLSV; Trusted_Connection=True"  Load danh sách lớp học vào comboxbox - Sự kiện load form Danh sách sinh viên gọi hàm HienThiDanhSachLopHoc để load danh sách lớp học CSDL vào combobox Lớp học - Hàm LayDanhSachLopHoc (LopHocDAO.cs) sử dụng đối tượng SqlDataAdapter để đổ liệu bảng LOPHOC vào đối tượng DataSet - Danh sách lớp học CSDL load vào combox Lớp học form Danh sách sinh viên load lên  Load danh sách sinh viên lớp học Bộ môn Hệ thống thông tin | Khoa CNTT | ĐH KHTN TP HCM | 1/2013 Trang - Sự kiện click chọn lớp danh sách lớp combobox Lớp học gọi hàm HienThiDanhSachSinhVien để load danh sách sinh viên thuộc lớp học vào datagridview - Hàm LayDanhSachSinhVienTheoLop (SinhVienDAO.cs) sử dụng đối tượng SqlDataAdapter để đổ liệu trả vào đối tượng DataSet - Danh sách sinh viên lớp học load vào datagridview  Thêm sinh viên vào lớp học Thêm sinh viên tên Hồ Hoàng Ánh vào lớp TH2005 Sự kiện click button Thêm gọi hàm ThemSinhVien (SinhVienDAO.cs) Bộ môn Hệ thống thông tin | Khoa CNTT | ĐH KHTN TP HCM | 1/2013 Trang  Xóa sinh viên khỏi lớp học Chọn sinh viên tên Nguyen Van B xóa khỏi lớp TH2005/02 Sự kiện click button Xóa gọi hàm XoaSinhVien (SinhVienDAO.cs) Bài tập nhà Sinh viên tự xây dựng lại ứng dụng QLSV với chức hướng dẫn, suy nghĩ phát triển số chức khác cho ứng dụng HẾT Bộ môn Hệ thống thông tin | Khoa CNTT | ĐH KHTN TP HCM | 1/2013 Trang 11

Ngày đăng: 09/04/2023, 06:28

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w