Cộng đồng chia sẻ tri thức Lib24.vn

Đề Cương bài giảng

465a68c939dfe4d03bf40903cc7e6b7b
Gửi bởi: Khoa CNTT - HCEM 6 tháng 11 2020 lúc 17:33:43 | Được cập nhật: 9 giờ trước (14:02:41) Kiểu file: DOCX | Lượt xem: 328 | Lượt Download: 1 | File size: 0.120465 Mb

Nội dung tài liệu

Tải xuống
Link tài liệu:
Tải xuống

Các tài liệu liên quan


Có thể bạn quan tâm


Thông tin tài liệu

Đề cương bài giảng

ĐỀ CƯƠNG BÀI GIẢNG

8.4. THAO TÁC CSDL BẰNG MÔ HÌNH PHI KẾT NỐI

Mục tiêu

Sau khi học xong bài này học sinh có khả năng:

  • Xác định được các đối tượng sử dụng trong mô hình phi kết nối;

  • Thực hiện được các thao tác với CSDL SQL Server bằng mô hình phi kết nối theo yêu cầu bài toán đảm bảo đúng trình tự thực hiện, trong khoảng thời gian 08 phút;

Phòng tránh được các lỗi thường gặp;

  • Tuân thủ nội quy phòng máy tính, thể hiện được tính độc lập, tự giác, cẩn thận trong công việc.

Nội dung

8.4.1. Các đối tượng của mô hình phi kết nối

+ DataSet

- Là các đối tượng thuộc Namespace: System.Data;

- DataSet là một đối tượng có thể chứa nhiều DataTable được lưu hoàn toàn trong bộ nhớ;

- DataSet phù hợp cho việc điều hướng các kết quả riêng biệt từ các bảng dữ liệu. Do vậy, để giảm thiểu bộ nhớ cho DataSet ta có thể sử dụng đối tượng DataTable một cách độc lập;

Mô hình phi kết nối trong ADO.NET

+ SqlDataAdapter

- Thuộc namespace: System.Data.SqlClient

- SqlDataAdapter là “cầu nối” giữa CSDL và các DataTable của DataSet, giúp đổ dữ liệu từ CSDL vào các DataTable và cập nhật dữ liệu tới CSDL;

- Khởi tạo đối tượng SqlDataAdapter:

SqlDataAdapter <đối-tượng-SqlDataAdapter > =

new SqlDataAdapter(<lệnh-truy-vấn>, <chuỗi-kết nối>);

Trong đó:

+ <lệnh-truy-vấn>: là câu lệnh T-SQL trong SQL Server

+ <chuỗi-kết-nối>: chuỗi kết nối tới cơ sở dữ liệu trên máy chủ SQL Server bao gồm tên máy chủ, tên CSDL, kiểu kết nối.

* Phương thức Fill:

<đối-tượng-SqlDataAdapter >.Fill(<đối-tượng-DataTable>)

8.4.2. Thao tác với cơ sở dữ liệu

a. Bài toán

Xây dựng chức năng Quản lý sản phẩm cho Hệ thống quản lý bán hàng trên Facebook

Yêu cầu: Sử dụng mô hình phi kết nối để thực hiện thao tác hiển thị dữ liệu ra GridView trên dữ liệu của bảng Sản phẩm (tblSanpham)

b. Điều kiện thực hiện

- Máy tính có cài đặt phần mềm Visual Studio 2019 trở lên đã tích hợp DevExpress 19.2

- Project QLBHApp đã thiết kế giao diện Quản lý sản phẩm và tạo lớp clsKetNoi

c. Trình tự thực hiện

Bước 1. Khai báo không gian tên

Thao tác: Tại cửa sổ lệnh của lớp clsKetNoi, thực hiện khai báo không gian tên:

using System.Data;

using System.Data.SqlClient;

Bước 2. Tạo phương thức thao tác dữ liệu

Thao tác: Tại cửa sổ lệnh của lớp clsKetNoi, thực hiện viết mã:

public DataTable truyvan(string sql){

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(sql,chuoiKetnoi);

da.Fill(dt);

return dt;

}

Bước 3. Tạo thể hiện cho lớp clsKetNoi

Thao tác: Tại cửa sổ lệnh của form Sản phẩm, tạo thể hiện cho lớp clsKetNoi:

clsKetNoi kn = new clsKetNoi();

Bước 4. Viết mã cho sự kiện trên Form Sản phẩm

Thao tác: Tại cửa sổ lệnh của form Sản phẩm, thực hiện viết mã:

* Phương thức Load dữ liệu lên GridView

void hienthi(){

gcSanPham.DataSource = kn.truyvan("Select * from tblSanpham");

}

* Sự kiện Form Load của Form Sản phẩm

private void ucSanPham_Load(object sender, EventArgs e){

hienthi();

}

Bước 5. Kiểm tra

d. Lỗi thường gặp

Lỗi 1.

+ Hiện tượng: Xuất hiện lỗi không tìm thấy kiểu hoặc namespace tương ứng của đối tượng (DataTable, SqlDataAdapter)

+ Nguyên nhân:

Khai báo thiếu namespace của đối tượng

+ Biện pháp phòng tránh: Khai báo đủ namespace

System.Data

System.Data.SqlClient

Lỗi 2

+ Hiện tượng: Các chức năng không được thực hiện thành công

+ Nguyên nhân: Không sử dụng phương thức Fill nên không có quá trình đổ dữ liệu và cập nhật dữ liệu giữa Database và DataTable

+ Biện pháp phòng tránh: Thực hiện gọi phương thức Fill ngay sau khi khởi tạo SqlDataAdapter

8.4.3. Thực hành

Thực hiện các yêu cầu trong phiếu luyện tập

TÀI LIỆU THAM KHẢO

[1] Phạm Hữu Khang, Lập trình cơ sở dữ liệu, NXB Lao động xã hội

[2] Dương Quang Thiện, Kỹ thuật Visual C# - ADO.NET, NXB Tổng hợp TP.HCM

[3] https://msdn.microsoft.com/

- 16 -