Bài giảng Lập trình ứng dụng Windows Form in VB.NET 2005 - Buổi 6: Visual Basic.NET và Database

™Các công nghệtruy cập dữliệu của Microsoft như a Microsoft như

DAO (Data Access Object), ODBC(Open DataBase

Connectivity Connectivity), RDO(Remote Data Object), ADO

(ActiveX Data Objects)

™Tuy nhiên từkhi .NET Framework ra đ Framework ra đời thì công

nghệADO.NET đã đư đã được tích hợp, ADO.NET:

¾Chứa các lớp cho phép các ứng dụng connect data

sources

pdf23 trang | Chuyên mục: Visual Basic 6.0 | Chia sẻ: dkS00TYs | Lượt xem: 2613 | Lượt tải: 3download
Tóm tắt nội dung Bài giảng Lập trình ứng dụng Windows Form in VB.NET 2005 - Buổi 6: Visual Basic.NET và Database, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ExecuteReader: Phương thức này (không hoặc có 1 
tham số) trả về một đối tượng DataReader, Trường 
hợp có tham số các tham số thông dụng là:
9CommandBehavior.SingleRow: Câu truy vấn 
chỉ trả về 1 dòng duy nhất
CommandBehavior.SchemaOnly : Câu truy vấn 
không trả về dữ liệu mà trả về thông tin các 
cột của bảng
9CommandBehavior.CloseConnection: đối tượng 
connection sẽ đóng khi đối tượng DataReader 
đóng 
Các Phương thức của Command Object:
24Windows Form programming with VB.Net 2005.
¾ExecuteNonquery:
9Gọi thực hiện các câu truy vấn cập nhật dữ liệu: 
INSERT, UPDATE, DELETE
9 Phương thức này trả về số dòng chịu tác động của 
Command, nếu có lỗi trả về -1
¾ExecuteScalar:
9Phương thức này thực hiện lệnh của Command và
chỉ trả về giá trị của cột đầu tiên và dòng đầu tiên. 
9phương thức này khi muốn Command thực hiện 
các hàm tính toán thống kê SUM, COUNT, AVG, 
MAX, MIN... trên nguồn dữ liệu ngay lúc thực thi
Các Phương thức của Command Object:
13
25Windows Form programming with VB.Net 2005.
Public Function GetCommand() as OleDbCommand
Dim cn As New OleDbConnection
Dim cmd As New OleDbCommand
Dim ConnectionState As ConnectionState
Dim strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source=D:\VB.NET\ADO.NET\QuanLyHoaDon\QLHoaDon.mdb"
cn.ConnectionString = strConnection
Try
ConnectionState = cn.State
If cn.State = Data.ConnectionState.Closed Then
cn.Open()
End If
cmd.Connection = cn
Return Cmd
Catch ex As Exception
Return Nothing
MessageBox.Show(ex.Message)
End Try
End function
26Windows Form programming with VB.Net 2005.
™Là đối tượng truy cập dữ liệu trực tiếp, sử dụng 
cursor phía Server và duy trì kết nối với Server trong 
suốt quá trình đọc dữ liệu, chứa dữ liệu trả về từ 
phương thức ExecuteReader của command object
™Các thuộc tính của OledbReader: 
¾FieldCount: Trả về số dòng hiện hành của 
DataReader.
¾ IsClosed: Cho biết DataReader đã đóng chưa?
¾ Item: Trị của cột truyền vào. Tham số truyền có thể là
tên cột hoặc số thứ tự của cột (từ 0Æ n-1 cột)
OleDbReader Object: (DataReader)
14
27Windows Form programming with VB.Net 2005.
™Các phương thức của OledbReader: 
¾Close(): Đóng DataReader.
¾GetFieldType(i): kiểu dữ liệu của cột thứ i
¾GetName(i): Trả về tên của cột thứ i
¾GetOrdinal(name): Trả về số thứ tự của cột 
(tính từ 0)
¾GetSchemaTable(): Trả về bảng chứa thông tin 
mô tả cột của DataReader.
OleDbReader Object: (tt)
28Windows Form programming with VB.Net 2005.
™Các phương thức của OledbReader (tt): 
¾GetValue(i): Trả về giá trị của cột thứ i
¾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
¾ NextResult(): Advances the data reader to the 
next result, when reading the results of batch SQL 
statements
OleDbReader Object: (tt)
15
29Windows Form programming with VB.Net 2005.
Public Function GetDataReader(ByVal StoreProceureName As String, 
Optional ByVal arrParams() As String = Nothing, Optional ByVal 
arrValues() As Object = Nothing) As OleDbDataReader
Dim rd As OleDbDataReader
Try
If Not (arrParams Is Nothing) Then
For nIndex As Integer = 0 To (arrParams.Length - 1)
cmd.Parameters.AddWithValue(arrParams(nIndex), 
arrValues(nIndex))
Next
End If 
rd = cmd.ExecuteReader(CommandBehavior.CloseConnection)
Return rd
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
Finally
' Neu Dong Ket noi thi Reader khong doc duoc
cmd.Dispose()
End Try
End Function
30Windows Form programming with VB.Net 2005.
OleDbDataAdapter Object (DataAdapter)
™Là một bộ gồm bốn đối tượng Command:
¾SelectCommand: cho phép lấy thông tin từ nguồn 
dữ liệu về
¾ InsertCommand: cho phép thêm dữ liệu vào bảng 
trong nguồn dữ liệu.
¾UpdateCommand: cho phép sửa đổi dữ liệu trên 
bảng trong nguồn dữ liệu.
¾DeleteCommand: cho phép hủy bỏ dữ liệu trên bảng 
trong nguồn dữ liệu.
16
31Windows Form programming with VB.Net 2005.
OleDbDataAdapter Object (tt)
™Cú pháp khai báo: 
Dim Bien as New OleDbDataAdapter
Khởi tạo: 
Bien= new OleDbDataAdapter (,) 
Trong đó:
: Câu lệnh truy vấn hoặc tên storedprocedure để
thực hiện truy xuất từ nguồn dữ liệu
: Đối tượng Connection đã kết nối với 
CSDL
32Windows Form programming with VB.Net 2005.
OleDbDataAdapter Object (DataAdapter)
™Các thuộc tính (Properties):
¾SelectCommand: Đối tượng Command chứa nội 
dung lệnh truy xuất các mẩu tin từ nguồn dữ liệu
¾DeleteCommand: Đối tượngCommand chứa nội 
dung lệnh hủy các mẩu tin trên nguồn dữ liệu
¾ InsertCommand: Đối tượng Command chứa nội 
dung lệnh chèn các mẩu tin mới vào nguồn dữ liệu.
¾Update command: Đối tượng Command chứa nội 
dung lệnh cập nhật các mẩu tin vào nguồn dữ liệu.
17
33Windows Form programming with VB.Net 2005.
OleDbDataAdapter Object (DataAdapter)
™Các Phương thức OleDbDataAdapter:
¾Fill(): Đổ dữ liệu vào DataTable có sẵn
¾Fill(): Đổ dữ liệu vào DataSet có sẵn. Dữ
liệu được lấy về Dataset dưới dạng các DataTable, 
với tên mặc định là Table1, Table2,…
¾Fill(,): Đổ dữ liệu vào 
DataSet cho bảng ; nếu chưa có, 
bảng sẽ được tạo với tên là . (Cách 
này thường được dùng nhiều hơn)
34Windows Form programming with VB.Net 2005.
OleDbDataAdapter Object (DataAdapter)
™Chú ý:
¾Khi dùng nhiều DataAdapter để đổ dữ liệu của 
nhiều bảng vào DataSet, nếu không chỉ rõ đổ vào 
bảng nào trong DataSet, dữ liệu sẽ đổ chung vào một 
bảng, số cột là tổng số cột có tên khác nhau trong 
các bảng từ nguồn dữ liệu, trên mỗi dòng cột nào 
không có dữ liệu tương ứng sẽ mang trị Null.
¾Chúng ta có thể dùng một DataAdapter để đổ dữ
liệu của nhiều bảng vào DataSet với nội dung lệnh 
truy vấn là các lệnh liên tiếp và cách nhau bằng dấu 
(;) (MS. SQL Server)
18
35Windows Form programming with VB.Net 2005.
DataTable
™Đối tượng chứa dữ liệu trên Dataset
™Khai báo: Dim Ten_Bien as new DataTable
¾DataTable: được tạo từ tập hợp DataRows và
DataColums
¾DataColumns: tập hợp các cột có trong DataTable
¾DataRows: tập hợp các dòng dữ liệu
36Windows Form programming with VB.Net 2005.
DataColumn
™Tạo mới DataColumn
Dim Ten_Cot New DataColumn(,)
Trong đó:
: Tên muốn đặt cho cột
: Kiểu dữ liệu của cột, được khai báo thông 
qua cú pháp System.Type.GetType(“System.Tênkiểu”) 
™Đưa cột vào bảng:
TenBang.Columns.add(Ten_Cot)
19
37Windows Form programming with VB.Net 2005.
DataRows
™DataRows là tập hợp các dòng dữ liệu của bảng. Mọi 
tham chiếu đến dòng đều thông qua tập hợp này. Sau 
đây là một số chức năng của DataRow 
Các thuộc tính: 
Rows.Count: Cho biết số dòng dữ liệu Trong DataTable
Rows.Item(i) hoặc Rows(i): tham chiếu đến dòng i 
Rows.Item(i)(j): lấy dữ liệu của cột j trên dòng i 
Rows.Item(i)(“Têncột”): lấy dữ liệu của cột có tên cột 
trên dòng i (i bắt đầu từ 0)
38Windows Form programming with VB.Net 2005.
DataRows
™Để thêm dòng vào table: TableName.Rows.Add()
™Ví dụ: thêm một dòng dữ liệu vào Table Khoa
Dim dong As DataRow = Khoa.NewRow()
dong(0)= “VL“
dong(1)= “VậtLý“
Khoa.Rows.Add(dong)
™Rows.RemoveAt(): Xóa dòng khỏi bảng
™Rows.Remove(dong): Xóa dòng khỏi bảng
™Rows.Clear(): Xóa toàn bộ các dòng dữ liệu của bảng
20
39Windows Form programming with VB.Net 2005.
Dataview 
Dataview: là“Khung nhìn” của DataTable, thôngqua 
Dataview, ta có thể hiển thị dữ liệu lấy từ DataTable
theo yêu cầu của người dùng 
¾Khai báo:
Dim Ten_bien as New DataView()
¾Ta có thể tạo một View từ bảng bằng: 
Dim Ten_bien As DataView = Ten_Bang.DefaultView
40Windows Form programming with VB.Net 2005.
Dataview 
Thuộc tính và phương thức quan trọng của Dataview 
¾RowFilter: Biểu thức lọc của DataView để thay đổi cách 
hiện thị dữ liệu 
Cú pháp: Ten_view.RowFilter=“Tencot=Giá tri and/or …”
¾ Sort :Biểu thức sắp xếp, 
Cú pháp: Ten_view.Sort=“Tencot asc/desc,…”
¾ Find:Tìm kiếm, trả về vị trí dòng thỏa điều kiện, tìm 
theo cột nào phải sắp xếp dữ liệu theo cột đó, 
Cú pháp: Ten_View.Sort = “Ten_Cot cần tìm”
vi_tri = Ten_view.Find(“Giá trị”)
21
41Windows Form programming with VB.Net 2005.
DataSet
¾Dataset là một lớp 
dùng để thao tác với dữ
liệu theo mô hình dữ liệu 
phi kết nối. 
¾Nó được coi như là
một kho chứa các table
¾Dữ liệu có thể cập nhật 
trong các bảng này và
khi muốn cập nhật vào 
CSDL thì DataSet sẽ
thực hiện việc cập nhật 
dữ liệu thông qua 
DataAdapter
42Windows Form programming with VB.Net 2005.
DataSet
¾ Các bảng trong DataSet có thể do 
DataAdapter Fill vào hoặc cũng có thể là các 
bảng được tạo thành từ lớp DataTable
¾ Các bảng này được quản lý bởi tập hợp 
Tables của lớp DataSet.
¾Một Data set có thể lưu trữ nhiều bảng 
(Table)
¾Khai báo
dim Ten_Bien as New DataSet()
22
43Windows Form programming with VB.Net 2005.
Các phương thức quan trọng của DataSet:
¾Ten_bien.Tables.Add(): đưa bảng vào DataSet
¾Ten_bien.Tables.Remove(): Xóa bảng ra khỏi 
DataSet
¾Ten_bien.Tables.Contains(): Kiểm tra bảng có
thuộc về DataSet
¾Ten_Bien.Tables.CanRemove(): trả về true nếu có
thể xóa bảng
¾Ten_bien.Tables.Clear(): Xóa tất cả các bảng khỏi DataSet
¾Ten_Bien.Dispose: Xóa DataSet
¾Ten_Bien.Clear: Xóa toàn bộ nội dung trong DataSet:
44Windows Form programming with VB.Net 2005.
Public Function UpdateRows(ByVal queryString As String, ByVal ds
As DataSet, ByVal tableName As String) As DataSet
Try
Dim da As New OleDbDataAdapter()
da.SelectCommand = New OleDbCommand(queryString, cn)
Dim cb As OleDbCommandBuilder = New 
OleDbCommandBuilder(da)
da.Fill(ds, tableName)
da.Update(ds, tableName)
Return ds
Catch ex As Exception
MsgBox(ex.Message)
Return Nothing
End Try
End Function
23
45Windows Form programming with VB.Net 2005.
DataGridView Control
¾ Hiển thị dữ liệu dạng khung lưới dữ liệu thường được 
lấy từ DataTable, DataView hoặc DataSet
™Cú pháp lấy dữ liệu từ DataTable:
Tên_dgv. DataSource = 
™Cú pháp lấy dữ liệu từ DataView:
Tên_dgv. DataSource = 
Cú pháp lấy dữ liệu từ DataSet:
Tên_dgv. DataSource = 
Tên_dgv. DataMember = 
46Windows Form programming with VB.Net 2005.

File đính kèm:

  • pdfBài giảng Lập trình ứng dụng Windows Form in VB.NET 2005 - Buổi 6_Visual Basic.NET và Database.pdf
Tài liệu liên quan