Lập trình Lập trình VB.Net 2005 - Visual Basic.NET & Database
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 =
23 trang |
Chia sẻ: maiphuongtl | Lượt xem: 3291 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Lập trình Lập trình VB.Net 2005 - Visual Basic.NET & Database, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
11Windows Form programming with VB.Net 2005.
Buổi 6:
Visual Basic.NET &
Database
2Windows Form programming with VB.Net 2005.
Giới thiệu:
Các công nghệ truy cập dữ liệu của Microsoft như
DAO (Data Access Object), ODBC (Open DataBase
Connectivity), RDO (Remote Data Object), ADO
(ActiveX Data Objects)
Tuy nhiên từ khi .NET 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
¾Execute commands
¾Manage disconnected data (quản lý dữ liệu đã ngắt
kết nối).
23Windows Form programming with VB.Net 2005.
Giới thiệu (tt):
Với ADO.NET người lập trình có thể viết ít
mã lệnh thao tác cơ sở dữ liệu hơn so với các
công nghệ trước trong các ứng dụng client-server
hoặc các ứng dụng trên desktop.
Mặt khác, trong ASP.NET từ phiên bản .NET
Framework 2.0 trở lên có thêm các thao tác với cơ
sở dữ liệu mà không sử dụng ADO.NET như
SqlDataSource, LINQ hoặc Profiles.
4Windows Form programming with VB.Net 2005.
Buổi 6: VB.NET & Database (CSDL)
Mục tiêu của bài: Sử dụng được các lớp trong
thư viện ADO.NET tương tác với CSDL:
¾Mô tả cách thức kết nối và giao tiếp với CSDL
¾Mô tả được chức năng và cách thức sử dụng các
lớp DataSet, Datatable, Datarow, DataColumn để
đọc dữ liệu.
¾Đọc dữ liệu với DataReader và hiển thị trên các
lớp kế thừa từ ComboBox, Listbox, TextBox...
¾Cập nhật dữ liệu với Dataset và DataAdapter
35Windows Form programming with VB.Net 2005.
Kiến trúc ADO.NET
ADO.NET là đối
tượng dùng để
thao tác với CSDL
trong
.NetFramework;
các ngôn ngữ lập
trình trong Visual
studio (trong đó
có VB.Net) dùng
phương thức kết
nối này để giao
tiếp với CSDL
DataAdapter
6Windows Form programming with VB.Net 2005.
Kiến trúc ADO.NET
Có thể chia làm 2 phần chính:
¾Managed Provider Component: bao gồm các đối
tượng như: DataAdapter, DataReader, Connection,
Command giữ nhiệm vụ làm việc trực tiếp với dữ
liệu như database, file,…
¾Content Component: bao gồm các đối tượng như
DataSet, DataTable, DataView, DataRow,
DataColumn, DataRelation …đại diện cho dữ liệu
thực sự cần làm việc.
47Windows Form programming with VB.Net 2005.
Content Component:
Content Component:
là các đối tượng đại
diện cho dữ liệu cần
xử lý, bao gồm các đối
tượng sau:
¾DataSet
¾DataTable
¾DataView
¾DataRow
¾DataColumn
¾DataRelation
8Windows Form programming with VB.Net 2005.
Content Component:
¾DataSet: là hình ảnh của CSDL trong bộ nhớ, nó
chứa các bảng dữ liệu trong các DataTable và các
mối quan hệ trong Datarelation
¾DataTable: giống như bảng dữ liệu, dùng chứa dữ
liệu trên ứng dụng
¾Dataview: là “Hình ảnh” của DataTable, một
DataTable có thể có nhiều Dataview, thông qua
Dataviewt có thể sắp xếp dữ liệu, lọc dữ liệu trong
DataTable
¾DataColumn: chứa các cột trong DataTable
¾DataRow: chứa các dòng trong DataTable
59Windows Form programming with VB.Net 2005.
Content Component:
¾DataRelation: chứa các mối ràng buộc trong CSDL, có
thể chứa:
* Unique Constraint or Primary Key Constraint:
đảm bảo tính duy nhất về giá trị của một cột trong table
* Foreign Key Constraint: ràng buộc khóa ngoại
10Windows Form programming with VB.Net 2005.
Microsoft cung cấp hai bộ Provider component trong
phiên bản ADO.NET là OLEDB và SQL Server
¾OLEDB managed provider: dùng thao tác với các loại
CSDL (Access, Excel, Oracle, IBM…), bao gồm các đối
tượng sau:
9 OleDBConnection
9 OleDBCommand
9 OleDBParemeter
9 OleDBDataReader
9 OleDBDataAdapter
¾OLEDB: Namespace Imports System.Data.OLEDB
Managed Provider Component
611Windows Form programming with VB.Net 2005.
SQL Server managed provider: dùng thao tác với
CSDL SQL Server, bao gồm các đối tượng:
9 SQLConnection
9 SQLCommand
9 SQLParemeter
9 SQLDataReader
9 SQLDataAdapter
Để sử dụng Provider nào ta phải viết lệnh Imports
(khai báo Namespace) trên đầu đối mỗi class
¾SQL Server: Imports System.Data.SQLClient
Managed Provider Component (tt)
12Windows Form programming with VB.Net 2005.
Oracle managed provider: dùng thao tác với CSDL
SQL Server, bao gồm các đối tượng:
9 OracleConnection
9 OracleCommand
9 OracleParemeter
9 OracleDataReader
9 OracleDataAdapter
¾Ocracle: Imports Oracle.DataAccess.Client
Managed Provider Component (tt)
713Windows Form programming with VB.Net 2005.
¾Connection: liên kết với CSDL, các đối tượng khác
phải thông qua đối tượng Connection để thao tác với
CSDL
¾Command: là đối tượng dùng thực hiện các câu truy
vấn (SQL)
¾Parameter: là đối tượng dùng truyền tham số cho
Command
¾DataReader: chứa dữ liệu lấy từ CSDL, chỉ đọc, chỉ
duyệt từ trên xuống
¾DataAdapter: là đối tượng trung gian giữa CSDL và
DataSet, thông qua đối tượng này ta có thể lấy dữ
liệu từ CSDL đưa lên Dataset và cập nhật dữ liệu từ
DataSet xuống CSDL
Managed Provider Component (tt)
14Windows Form programming with VB.Net 2005.
¾Ghi chú: Tùy theo CSDL chúng ta sử dụng (Access,
SQl Server, Ocrale) các Managed Provider
Component phải được dùng hợp lý:
VD:
¾OleDbConnection OleDbCommand
¾SqlConnection SqlCommand
¾OracleConnection OracleCommand
¾……
Managed Provider Component (tt)
815Windows Form programming with VB.Net 2005.
Dùng tạo kết nối giữa ứng dụng và CSDL
Các thuộc tính (Properties) của OLEDBConnection
¾ConnectionString: chuỗi liên kết CSDL, liên kết
với Access với Cú pháp sau:
“Provider=Microsoft.jet.oledb.4.0;Data Source=
Đườngdẫn\tênCSDL”
¾State: chỉ ra trạng thái của đối tượng kết nối
(Connection Object) hiện tại như: Closed, Open,
Broken…)
OleDbConnection Object ()
16Windows Form programming with VB.Net 2005.
Một số Phương thức thường dùng của Connection
¾Open: mở kết nối đến CSDL cùng với các thông
tin đã được chúng ta khai báo trong
ConnectionString
¾Close: Đóng kết nối với nguồn dữ liệu. Sử dụng
phương thức này để đóng Connection đang mở.
¾Dispose: Xoá mọi tài nguyên liên quan đến
Connection trên vùng nhớ
OleDbConnection Object (tt)
917Windows Form programming with VB.Net 2005.
¾Khai báo OleDbConnection dùng MS Access:
‘Imports provider ở đầu màn hình Code
Imports SysTem.Data
Imports SysTem.Data.OleDb
‘ Khai báo và khởi tạo OLEDbConnection
Dim strConnection As String = _
"Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source =" & “”
Dim cn as New OleDbConnection(strConnection)
cn.Open()
‘Khai báo trong class thường dùng từ khóa Private thay
cho Dim
OleDbConnection Object (tt)
18Windows Form programming with VB.Net 2005.
¾Nếu lưu CSDL trong cùng thư mục file chạy chương trình
ta có thể dùng thuộc tính Application.StartupPath sau:
Dim cn as new OleDbConnection
Dim strConnection as string = _
"Provider=microsoft.jet.oledb.4.0;data source=" & _
Application.StartupPath & “\TenCSDL.mdb“
cn.ConnectionString = strConnection
Try
ConnectionState = cn.State
If cn.State = Data.ConnectionState.Closed Then
cn.Open()
End If
Catch ex As Exception
MessageBox.Show("Lỗi Kết nối CSDL!", "Lỗi",
MessageBoxButtons.RetryCancel, MessageBoxIcon.Error)
End Try
Connection Object (tt)
10
19Windows Form programming with VB.Net 2005.
Imports System.Data
Imports System.Data.OleDb
Public Class clsDataLayer
Private strConnection As String
Private cn As New OleDbConnection
Public Sub New()
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Application.StartupPath & "\QLHoaDon.mdb"
cn.ConnectionString = strConnection
End Sub ‘ Kết thúc Sub khởi tạo class clsDataLayer
Public Sub GetConnection()
Dim ConnectionState As ConnectionState
Try
ConnectionState = cn.State
If cn.State = Data.ConnectionState.Closed Then
cn.Open()
End If
Catch ex As Exception
MsgBox(ex.Message & “ Lỗi mở CSDL!", “Thông báo lỗi“)
End Try
End Sub ‘ Kết thúc Sub mở kết nối CSDL
End Class
20Windows Form programming with VB.Net 2005.
Là đối tượng được dùng để các truy vấn trên CSDL
Khai báo: thường dùng 2 kiểu khai báo
¾Khái báo đơn giản:
Dim cmd As New OleDbCommand()
¾Khái báo có khởi tạo:
Dim cmd As New OleDbCommand (strSQL, objConnection)
Trong trường hợp này chuỗi truy vấn strSQL và
objConnection phải được khai báo trước hoặc đã được
gọi ở thủ tục hoặc hàm nào đó trước khi khai báo theo
kiểu này)
OleDbCommand Object:
11
21Windows Form programming with VB.Net 2005.
¾CommandText: truy vấn SQL, tên bảng hoặc tên
stored procedure muốn thực hiện trên nguồn dữ
liệu.
¾Commandtype: Giá trị chỉ định cho biết nội dung
CommandText phải dùng là gì với các giá trị sau:
Text: (mặc định) một câu lệnh SQL
TableDirect: tên của một hoặc nhiều bảng
Storedprocedure: tên một thủ tục nội lại trong
CSDL
(Các giá trị này khi lập trình VB.Net sẽ tự hiển thị để chọn)
Properties thường dùng của Command Object
22Windows Form programming with VB.Net 2005.
¾ Connection: Đối tượng Connection sử dụng cho Command
¾ Parameters: Tập hợp các tham số dùng trong Command,
thường dùng cho truy vấn có ĐK (WHERE)
¾ VD:
Dim cmd As New OleDbCommand()
cmd.Connection = cn ‘ Connection Object is opened
cmd.CommandText = "sp_Login"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("Uname", UserName)
cmd.Parameters.AddWithValue("Pws", Password)
‘ UserName, Password là 2 biến nhập liệu được truyền vào
Properties thường dùng của Command Object
12
23Windows Form programming with VB.Net 2005.
¾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.
Các file đính kèm theo tài liệu này:
- vb_net_2005_b6_6717.pdf