Điều khiển Access Data Source Tương tự như điều khiển kết nối cơ sở dữ liêu SQLDataSource dùng để kết nối với cơ sở dữ liệu SQLserver điều khiển kết nối cơ sở dữ liệu AccessDataSource d
Trang 1II KẾT NỐI CƠ SỞ DỮ LIỆU VỚI ACCESS, XML
1 Điều khiển Access Data Source
Tương tự như điều khiển kết nối cơ sở dữ liêu SQLDataSource dùng để kết nối với cơ
sở dữ liệu SQLserver điều khiển kết nối cơ sở dữ liệu AccessDataSource dùng để kết nối với cơ sở dữ liệu Access MDB)
Như vây khi có nhu cấu kết nối với CSDL Acces ta dùng điều khiển AccessDataSource
từ ngăn Data trên thanh Toolbox
Ví dụ thiết kế trang DanhsachKH.aspx truy xuất và hiện thị Danh sách khách hang từ Table khachhang của CSDL QLBansach.mdb (Access)
Tạo AccessDataSource vào trang
Chọn Configure Data Source : Để thực hiện kết nối
Chọn Nút Browse để tìm và chọn CSDL Access : QLBansach (Thông thướng được tổ chức lưu trữ trong thư mục App_Data của ứng dụng)
Trang 2Biên sọan: Dương Thành Phết Trang 70
Chọn Ok và chọn Next để tiếp tục
Xác định nguồn dữ liệu (Khai báo điều kiện và sắp xếp nếu có) tiếp tục chọn Next
Chọn Test Query để xem kết quả, chọn Finish để hòan tất
Tạo điều khiển lưới gridView và chỉ định nguồn dữ liệu là AccessdataSource1 vừa tạo
Trang 3 Thi hành xem kết quả
Ghi chú:
Để truyền giá trị cho các tham số theo các hình thức: Form, QueryString, Control, ta khai báo tương tự như sử dụng điều khiển SQLDataSource
2 Điều khiển XML DataSource
Ngòai các điều khiển kết nối CSDL SQLDataSource, AccessDataSource chúng ta có thể
sử dụng điều khiển kết nối CSDL định dạng XML
Tuy nhiên khác với SQLDataSource, AccessDataSource khi sử dụng điều khiển XMDataSource ta cần có tập tin XML
Sử dụng điều khiển XMLDataSource từ ngăn Data trên thanh Toolbox
Trang 4Biên sọan: Dương Thành Phết Trang 72
Ví dụ thiết kế trang DanhsachSV.aspx hiện thị từ tập tin XML (DanhsachSV.XML)
Tạo tập tin DanhsachSV.XML
<?xml version="1.0" encoding="utf-8"?>
<DSSinhvien>
<Sinhvien MaSV="SV01" HotenSV="Trần Văn Nam"
Diachi="123 Trần Hưng Đạo, Q5" Email="nam@gmail.com" /> <Sinhvien MaSV="SV02" HotenSV="Nguyễn Thị Lý"
Diachi="45 Hai Bà Trưng, Q1" Email="lythi@yahoo.com" /> <Sinhvien MaSV="SV03" HotenSV="Nguyễn Thị Bình"
Diachi="31 Lý Thường Kiệt,TB" Email="kiet@gmail.com"/>
</DSSinhvien>
Triệu gọi trang DanhsaxhSV.xml lên trình duyệt có kết quả như sau:
Tạo điều khiển XMLDataSource vào trang DanhsachSV.aspx
Chọn Configure Data Source : Để thực hiện kết nối
Trang 5 Chọn Nút Browse để tìm và chọn tập tin DanhsachSV.
Chọn Ok để hòan tất
Tạo điều khiển lưới gridView và chỉ định nguồn dữ liệu là AccessdataSource1 vừa tạo
Thi hành xem kết quả
Trang 6Biên sọan: Dương Thành Phết Trang 74
III KẾT NỐI VÀ CẬP NHẬT CSDL
SQLDataSource và Access DataSource ngoài chức năng thong thường cho phép tạo kết nối CSDL và truy xúât dữ liệu còn cho thực hiện các thao tác cập nhật dữ liệu như: Thêm, Xóa, Sửa (Insert, Update Delete)
Ví dụ minh họa: Thực hiện chức năng “Nhập sách mới” vào Table Sach CSDL trong QLBansach
Trang web được thiết kế với các Control tương ứng dư liệu cần nhập mới vào Table Sach
Tạo Control SqlDataSource vào trang Tạo kết nối với CSDL QLBansach cho SqlDataSource
o Chọn “Specify columns from a table or view”
Trang 7o Name: Sach
o Columns : chọn tất cả các cột cần nhập mới dữ liệu tương ứng
o Chọn Advanced … Chọn “Generate INSERT, UPDATE, and DELETE statements” (Tự động tạo các câu truy vấn INSERT, UPDATE, DELETE)
o Click Next Finish
o Phải chuột SqlDataSource1, chọn Property, chọn thuộc tính
o “InsertQuery” : Câu lệnh nhập liệu
o DeleteQuery: Câu lệnh xóa dữ liệu
o UpdateQuery: Câu lệnh cập nhật sự điều chỉnh dữ liệu
Trang 8Biên sọan: Dương Thành Phết Trang 76
Liên kết 1 cột trong bảng với 1 control trong màn hình (ví dụ cột Tensach liên kết với control txtTensach)
o Parameters : MaBanTin (tên field cần nhập liệu)
o Parameter source : Control
o ControlID : txtMaBanTin (Tên Control chứa DL cần them)
Tương tự cho các cột khác
Trong trường hợp cột Hinhminhoa thì bấm vào “Show advanced properties”
o PropertyName chọn FileName
Trang 9o Viết hàm xử lý sự kiện click cho nút Lưu
protected void btnLuu_Click(object sender, EventArgs e)
{
SqlDataSource1.Insert();
}
o Chạy và kiểm tra chương trình