Các đối tượng cơ bản của ADO.Net - Pdf 69

I.Các đối tượng cơ bản của ADO.NetKhông cần quá dài dòng .Đối tượng này thực chất là các thư viện (lib) dưới dạng tích hợp
sẵn hoặc là các file dll của Visual Studio. Nó được thiết kế để tăng tốc độ truy cập và
thao tác trên dữ liệu trong môi trường đa lớp. Có thể tác động đến các kiểu cơ sở dữ liệu
như SQL , Access,Oracle ... v v.

Vấn đề nó tăng tốc thế nào thì ta ... kóc quan tâm . Chủ yếu , ta sẽ đi học cách sử dụng
các đối tượng con trong nó để thao tác với cơ sở dữ liệu mà thôi.

Thế nào là cơ sở dữ liệu ? thế nào là đối tượng ? Dot net là gì ? Visual Basic.Net ? ...
v v là những câu hỏi không được trả lời trong mục này .Vì khi đụng đến phần này , yêu
cầu các bạn newbie đã phải nắm được các khái niệm trên.Có thể tham khảo sơ lược về
Dot net và về khái niệm lập trình hướng đối tượng tại đây:
.Còn về cơ sở dữ liệu và đặc biệt là SQL
thì hẹn gặp lại ở chuyên mục khác...

Những thành phần sẽ nghiên cứu trong bài viết này:
+Đối tượng SqlConnection
+Đối tượng SqlDataAdapter
+Đối tượng bảng dữ liệu và bảng view dữ liệu
+Mô hình hiển thị tổng quát 1.Kết nối từ Visual Basic.Net vào Cơ Sở Dữ Liệu của SQL:

Trước tiên hết , trước khi muốn làm điều gì đó với cơ sở dữ liệu của bạn , điều quan trọng
là phải kết nối được vào cơ sở dữ liệu đó.
SqlServer sau khi cài đặt ,nó tạo cho người sử dụng một server (máy chủ) , thông thường
là tại chính máy của người sử dụng .Tại server này , người sử dụng có thể tạo ra các kho

bienketnoi.ConnectionString="server=KHANH\KHANH;database=
quanlynhansu;integrated security =SSPI"
+Phương thức Open():
OK rồi , sau khi đã có đường dẫn kết nối đến cơ sở dữ liệu , ta gọi phương thức Open()
của đối tượng kết nối để mở đường kết nối theo đường đã khai báo :
bienketnoi.Open()
Nhưng để chắc chắn sự kết nối thành công , ta để một bẫy lỗi Try Catch như sau :
Mã PHP:

Dim bienketnoi as new ConnectionString()
Try
bienketnoi.ConnectionString = "server=KHANH\KHANH;database=d
etai;integrated security=SSPI"
bienketnoi.Open()
MsgBox("connected!")
Catch ex As Exception
MsgBox(ex.ToString)
End Try

2.Đối tượng SqlDataAdapter:
Đối tượng này có thể hiểu là bộ chuyển đổi dữ liệu từ đinh dạng của SQL sang dạng dữ
liệu của Visual Studio , để có thể hiển thị dữ liệu trên Visual Studio.Để có thể lấy dữ liệu
từ SQL , nó cần một đường dẫn dẫn đến cơ sở dữ liệu cần chuyển đổi (đương nhiên , kô
biết chuyển ở đâu thì làm sao chuyển ? ) và một dạng lệnh SQL để có thể chuyển đổi dữ
liệu theo yêu cầu nhất định:

Dim da as new SqlDataAdapter(“chuỗilệnh”,biến_KN.ConnectionString)

Đương nhiên sau khi có dữ liệu trong DataSource , nội dung sẽ output ra ngoài của
DataGrid1. Sau đây là một ví dụ:
Mã PHP:
Dim da As New SqlDataAdapter("select * from dssv", Form1.bienketnoi)
Dim tb As New DataTable
da.Fill(tb)
DataGrid1.DataSource = tb

Kết quả hiển thị khi thực thi: Như vậy ,ta có một mô hình hiển thị tổng quát là : Ở phần tới , ta sẽ bàn đến đối tượng SqlCommand , với cách thực thi sâu sắc hơn cho đối
tượng SqlDataAdapter .

3.SqlCommand+Vì sao phải dùng SqlCommand? Ta có thể truyền câu lệnh thông qua
SqlDataAdapter cơ mà ?
Hờ hờ , đúng là thế... Nhưng nếu câu lệnh cần tùy biến thì seo , tức là câu lệnh cần
truyền là dạng có tham số đầu vào... ta sẽ phải làm thế nào giờ . Do đó cần phải có đối
t
ượng riêng để xử lý cho tình huống đại loại như thế !
SqlCommand là đối tượng như thế nào ?Hình ảnh phát nhỉ


Dịch nghĩa : ta có một đối tượng sc là một đối tượng lệnh , sẽ thực thi lệnh được dẫn
đường bởi bienketnoi, nội dung câu lệnh là hienthitblA và dạng của câu lệnh này là dạng
StoredProcedure

Ok rồi, một cách ngắn gọn hơn , phương thức khởi tạo của SqlCommand sẽ cho phép ta
viết gọn gàng hơn:
Dim sc as new SqlCommand("Chuỗi_câu_lệnh",Biến_kết_nối)
sc.CommandType=CommandType.kiểu_câu_lệnh

Theo đó, với 1 trong 2 ví dụ trên , ta có thể viết:
Mã PHP:
Dim sc as new SqlCommand("hienthitblA",bienketnoi)
sc.CommandType = CommandType.StoredProcedure Nếu lệnh thực thi với mục đích hiển thị:Ta sẽ sử dụng SqlCommand để truyền vào cho SqlDataAdapter, lí do truyền tương thích
vì bản thân SqlCommand đã bao hàm bienketnoi và câu lệnh rồi, nên hoàn toàn truyền
cho SqlDataAdapter được...
Mã PHP:
Dim sc as new SqlCommand("hienthitblA",bienketnoi)
sc.CommandType = CommandType.StoredProcedure
Dim da As New SqlDataAdapter(sc)
Dim tb As New DataTable
da.Fill(tb)
DataGrid1.DataSource = tb


tblA, nên không cần dùng đến da để đưa hiển thị ra ngoài.

Như vậy , tổng quát của AddWithValue là:
sc.Parameters.AddWithValue("@tên_biến", giá trị tương ứng)
Ở lần này , ta sẽ bàn đến những chiêu thức cơ bản của lập trình CSDL:
+Update (Cập nhật)
+Insert (Thêm)
+Delete (Xóa)
+Search (Tìm kiếm)
+Enumeration (Thống kê)

Và bàn đến kĩ thuật điều khiển DataGridView thông qua bắt sự kiện:
+Nhấp chuột vào DataGridView để lấy thông tin
+Chỉnh sửa trực tiếp dữ liệu trên DataGridView và tự động cập nhật lại csdl
I.Update,Insert,Delete,Search,Enumerati
on1.Ôn tập đôi chút về Command SQL
Ta lần lượt trải nhanh qua vài bước như sau:
Một số ghi chú:
SEM = SQL Sever EnterpriseManager
SQA = SQL Query Analyzer

Bước 1:

Câu lệnh create
Create table tên_bảng (tên_cột_1 kiểu_cột_1,…,tên_cột_n kiểu_cột_n)
(cột_1,…,cột_n) (cột_1,…,c
ột_n)
values valu
es
(@biến_1,…,@biến_n) (giá_trị_1,…,giá_tr
ị_n) Câu lệnh cho phép điền thêm giá trị vào bảng, giá trị có thể là biến ( kí hiệu đối với SQL
là @tên_biến ) hoặc có thể là giá trị cụ thể, nhưng cần chú ý là các giá trị được điền vào
phải phù hợp với kiểu dữ liệu của cột.
Ví dụ như cột stt có kiểu integer thì ta không thể điền chữ ‘a’ vào đó được…


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status