1. Trang chủ
  2. » Công Nghệ Thông Tin

Tổng quan mô hình truy xuất CSDL ADO.NET

53 435 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tổng quan mô hình truy xuất CSDL ADO.NET
Tác giả ThS. Trương Phước Hải
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Lập trình quản lý nâng cao
Thể loại Báo cáo môn học
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 53
Dung lượng 1,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trương Phước HảiKết nối CSDL bằng Wizard 22 Lập trình quản lý nâng cao Chọn loại DataGrid cho ứng dụng WindowsForm... Trương Phước HảiChọn thuộc tính của bảng cần hiển thịtrong DataGri

Trang 1

Tổng quan mô hình truy xuất CSDL

ADO.NET

ThS Trương Phước Hải

Trang 2

Trương Phước Hải

Nội dung

2

1 Các mô hình truy xuất CSDL

2 Giới thiệu ADO.Net

3 Tổng quan kiến trúc ADO.Net

4 Kết nối CSDL bằng ADO.Net

Trang 3

Nơi nào có lưu trữ thông tin, nơi đó cầnquản lý thông tin.

Quản lý giáo dục, quản lý bệnh viện, quản

lý bán hàng, quản lý nhân sự, tiền lương…

Ứng dụng quản lý thông tin

Trang 4

Trương Phước Hải

 Truy xuất thông tin từ CSDL:

Trang 6

Trương Phước Hải

Trang 7

ODBC (Open Database Connectivity)

OLE DB (Obj Linking & Embedding DB)

DAO (Data Access Object)

RDO (Remote Data Object)

ADO (ActiveX Data Objects)

Các mô hình truy xuất CSDL

Trang 8

Trương Phước Hải

Nội dung

8

1 Các mô hình truy xuất CSDL

2 Giới thiệu ADO.Net

3 Tổng quan kiến trúc ADO.Net

4 Kết nối CSDL bằng ADO.Net

Trang 9

Mô hình truy xuất CSDL trên nền NET.

Tăng tốc truy xuất dữ liệu theo mô hình

đa lớp (n-tier): tách biệt truy cập dữ liệuvới thao tác dữ liệu

Cho phép truy xuất dữ liệu ở chế độ

connected và disconnected

Hỗ trợ thao tác với XML

Gồm 2 thành phần chính: Net DataProvider và DataSet

ADO.Net

Trang 10

Trương Phước Hải

Nội dung

10

1 Các mô hình truy xuất CSDL

2 Giới thiệu ADO.Net

3 Tổng quan kiến trúc ADO.Net

4 Kết nối CSDL bằng ADO.Net

Trang 11

Tổng quan kiến trúc ADO.Net

ADO.NET

Data Consumers

WinForm

Other WebForm

Trang 12

Trương Phước Hải

Phân loại Net Data Provider:

.Net Data Provider

12

Lập trình quản lý nâng cao

Trang 14

Trương Phước Hải

 Lưu trữ ở bộ nhớ trong (in-memory) các bảng dữ liệu, các lược đồ CSDL.

 Thực thi cơ chế ngắt kết nối ( disconnected ) nhằm tăng hiệu năng truy xuất CSDL.

 Mọi thao tác thay đổi dữ liệu được thực hiện trên

DataSet , không ảnh hưởng đến CSDL.

 Sử dụng XML để truyền tải và lưu trữ dữ liệu.

 Theo vết các thay đổi dữ liệu, cập nhật CSDL thông qua đối tượng DataAdapter

DataSet

14

Lập trình quản lý nâng cao

Trang 15

Sơ đồ lớp đối tượng DataSet

Trang 16

Trương Phước Hải

Nội dung

16

1 Các mô hình truy xuất CSDL

2 Giới thiệu ADO.Net

3 Tổng quan kiến trúc ADO.Net

4 Kết nối CSDL bằng ADO.Net

Trang 17

 Bước 1 : khởi tạo đối tượng Connection với tham

số connection string đối với database tương ứng.

 Bước 2 : thiết lập kết nối đến database bằng phương thức Open

 Bước 3 : thực hiện các thao tác khai thác dữ liệu ( select , insert , delete , update ) từ database.

 Bước 4 : đóng kết nối đến database bằng phương thức Close

Kết nối database server

m_Connection = new SqlConnection(ConStr)

m_Connection.Open()

m_Connection.Close()

Trang 18

Trương Phước Hải

Kết nối database server

18

Lập trình quản lý nâng cao

Trang 19

Kết nối database server

Imports System.Data.SqlClient

Public Class FrmLogin

Private m_Conn As SqlConnection

Private Sub cmdLogin_Click( )

Try

Dim ConStr As String = “Server = ” & sSrv & “;” & _

“User ID = ” & sUser & “;” & _

“Password = ” & sPass & “;” & _

“Database = ” & sDatabase & “;”

m_Conn = New SqlConnection(ConStr) m_Conn.Open()

MessageBox.Show( “Kết nối thành công” , “Successful” ) m_Conn.Close()

Catch ex As Exception

MessageBox.Show(ex.Message, “Failed” )

End Try

Kết nối CSDL SQL Server bằng SqlClient

Trang 20

Trương Phước Hải

Trang 21

Thêm DataGrid control vào thanh công cụ

Kết nối CSDL bằng Wizard

Trang 22

Trương Phước Hải

Kết nối CSDL bằng Wizard

22

Lập trình quản lý nâng cao

Chọn loại DataGrid cho ứng dụng WindowsForm

Trang 23

Tạo kết nối CSDL bằng công cụ wizard.

Trang 24

Trương Phước Hải

Chọn thuộc tính của bảng cần hiển thịtrong DataGrid

Kết nối CSDL bằng Wizard

24

Lập trình quản lý nâng cao

chọn dữ liệu cần truy vấn thiết lập datasourceDataGrid đã được

Trang 25

Kết nối CSDL bằng Wizard

Kết quả thực thi chương trình

Trang 26

Trương Phước Hải

Tạo Form gồm DataGrid và các nút lệnh

Truy xuất CSDL bằng VB.Net

Trang 27

Bind dữ liệu từ DataSet vào DataGrid:

 Bước 1 : khởi tạo đối tượng DataAdapter và thực thi truy vấn.

 Bước 2 : khởi tạo đối tượng DataSet

 Bước 3 : nạp kết quả truy vấn và đặt tên cho bảng dữ liệu chứa trong DataSet thông qua phương thức Fill

 Bước 4 : bind dữ liệu từ DataSet vào DataGird bằng phương thức SetDataBinding

Truy xuất CSDL bằng VB.Net

m_Adapter = New SqlDataAdapter(m_Command) m_DataSet = New DataSet()

m_Adapter.Fill(m_DataSet, strName)

Trang 28

Trương Phước Hải

Kết nối SQL Server bằng lớp SqlClient

 Khai báo các biến thành viên

Truy xuất CSDL bằng VB.Net

28

Lập trình quản lý nâng cao

Imports System.Data

Imports System.Data.SqlClient

Public Class FrmDemo

Private m_Conn As SqlConnection

Private m_Cmd As SqlCommand

Private m_Adap As SqlDataAdapter

Private m_DataSet As DataSet

End Class

Trang 29

Kết nối SQL Server bằng lớp SqlClient

 Xây dựng hàm kết nối CSDL:Hàm trả về True

nếu kết nối thành công, ngược lại trả về FalseTruy xuất CSDL bằng VB.Net

Private Function Connect( ByVal ConStr As String )

As Boolean Try

m_Conn = New SqlConnection(ConStr) m_Conn.Open()

Catch Return False End Try

Return True End Function

Trang 30

Trương Phước Hải

Kết nối SQL Server bằng lớp SqlClient

 Xây dựng hàm thực thi truy vấn: tham số làcâu lệnh truy vấn Kết quả trả về đối tượng

DataAdapter

Truy xuất CSDL bằng VB.Net

30

Lập trình quản lý nâng cao

Private Function Excute( ByVal sCmd As String)

As SqlDataAdapter m_Cmd = New SqlCommand(sCmd, m_Conn)

Return New SqlDataAdapter(m_Cmd)

End Function

Trang 31

Kết nối SQL Server bằng lớp SqlClient

 Viết hàm đưa dữ liệu từ DataSet lên DataGrid

Truy xuất CSDL bằng VB.Net

Private Sub ShowData( ByVal Adap As SqlDataAdapter,

ByRef DataSet As DataSet,

ByRef DataGrid As DataGrid,

ByVal sName As String )

Adap.Fill(DataSet, sName)

DataGrid.SetDataBinding(DataSet, sName)

End Sub

Trang 32

Trương Phước Hải

Kết nối SQL Server bằng lớp SqlClient

 Viết code cho nút lệnh LoadData

Truy xuất CSDL bằng VB.Net

32

Lập trình quản lý nâng cao

Public Class FrmDemo

Private Sub cmdLoadData_Click( )

Dim ConStr As String = “Server=localhost;User ID=sa ;

Password =sa;Database=QLSach;”

If (Connect(ConStr) = True ) Then

m_Adap = Excute( “Select MaSach, TuaSach, TacGia,

GiaBan, From Sach” ) ShowData(m_Adap, m_DataSet, dgSach, “DMSach” )

Trang 33

Đối tượng Connection cần phải được đóng

chương trình để giải phóng tài nguyên

Truy xuất CSDL bằng VB.Net

Private Sub FrmDemo_Closing( )

m_Conn.Dispose()

End Sub

Trang 34

Trương Phước Hải

Truy xuất CSDL bằng VB.Net

Trang 35

Các bước kết nối và khai thác CSDL ở các

tự nhau

Kiểu dữ liệu các biến thành phần.Net Data

Trang 36

Trương Phước Hải

Kết nối SQL Server bằng lớp OleDb

 Khai báo các biến thành viên

Truy xuất CSDL bằng VB.Net

36

Lập trình quản lý nâng cao

Imports System.Data

Imports System.Data.OleDb

Public Class FrmDemo

Private m_Conn As OleDbConnection

Private m_Cmd As OleDbCommand

Private m_Adap As OleDbDataAdapter

Private m_DataSet As DataSet

End Class

Trang 37

Kết nối SQL Server bằng lớp OleDb

Truy xuất CSDL bằng VB.Net

Public Class FrmDemo

Private Sub cmdLoadData_Click( )

Dim ConStr As String = “Provider=SQLOLEDB;

Data Source=localhost;User ID=sa; Password =sa;Initial Catalog=QLSach;”

If (Connect(ConStr) = True ) Then

m_Adap = Excute( “Select MaSach, TuaSach, TacGia,

GiaBan, From Sach” ) ShowData(m_Adap, m_DataSet, dgSach, “DMSach” )

Trang 38

Trương Phước Hải

Kết nối Access bằng lớp OleDb

Truy xuất CSDL bằng VB.Net

38

Lập trình quản lý nâng cao

Public Class FrmDemo

Private Sub cmdLoadData_Click( )

Dim ConStr As String = “Data Source=QLSach.MDB;

Provider=Microsoft.Jet.OLEDB.4.0;”

If (Connect(ConStr) = True ) Then

m_Adap = Excute( “Select MaSach, TuaSach, TacGia,

GiaBan, From Sach” ) ShowData(m_Adap, m_DataSet, dgSach, “DMSach” )

Trang 39

Cách thức tương tự như với câu lệnh truyvấn T-SQL.

Thay câu lệnh truy vấn bằng tên stored

Truyền tham số là các giá trị nhận từ mànhình giao diện cho stored procedure

Truy vấn Stored Procedure

Trang 40

Trương Phước Hải

Truy vấn Stored Procedure

Trang 41

Xây dựng stored procedure tìm kiếm sáchdựa trên 2 tiêu chí tựa và tên NXB

Truy vấn Stored Procedure

CREATE PROC usp_TimKiem

@TuaSach nvarchar (200),

@TenNXB nvarchar (200)

AS

BEGIN

SELECT S.MaSach, S.TuaSach, S.TacGia, N.TenNXB, S.GiaBan

FROM Sach S INNER JOIN NhaXB N ON S.MaNXB = N.MaNXB

WHERE S.TuaSach like N „%‟ + @TuaSach + „%‟ AND

N.TenNXB = @TenNXB

END

GO

Trang 42

Trương Phước Hải

Viết mã cho nút lệnh tìm kiếm

 Truyền tên stored procedure

 Truyền tham số cho stored procedure

Truy vấn Stored Procedure

42

Lập trình quản lý nâng cao

Dim pa As SqlParameter = New SqlParameter()

Trang 43

Hàm GetParam:

Truy vấn Stored Procedure

Private Function GetParam( ByVal Name As String,

ByVal Type As SqlDbType,

ByVal Value As Object )

Return param

End Function

Trang 44

Trương Phước Hải

Đưa dữ liệu vừa truy vấn được hiển thịtrên DataGrid:

Truy vấn Stored Procedure

44

Lập trình quản lý nâng cao

‟hủy tất cả bảng dữ liệu đang có trong DataSet

m_DataSet.Clear()

Trang 45

Truy vấn Stored Procedure

Kết quả tìm kiếm theo 2 tiêu chí

Kết quả chạy chương trình

Trang 46

Trương Phước Hải

Khi chỉ muốn duyệt trên toàn bộ dữ liệuthì DataReader tốt hơn DataSet

Đưa dữ liệu từ DataReader vào DataGrid:

 Bước 1: tạo DataTable có các cột ứng với cáccột của lệnh truy vấn

Duyệt dữ liệu bằng DataReader

46

Lập trình quản lý nâng cao

Trang 47

 Bước 2: đưa DataTable vừa tạo vào DataSet.

 Bước 3: bind DataSet vào DataGrid

Duyệt dữ liệu bằng DataReader

m_DataSet.Tables.Add(Table)

DataGrid.SetDataBinding(m_DataSet, strTabName)

Trang 48

Trương Phước Hải

 Bước 4: duyệt xử lý từng dòng dữ liệu đọcđược từ DataReader bằng phương thức

Read và đưa vào DataSet

Duyệt dữ liệu bằng DataReader

m_Reader.GetValue(n).ToString() })

End While

Trang 49

Ví dụ minh họa tìm kiếm sách:

 Xây dựng hàm tạo bảng

Duyệt dữ liệu bằng DataReader

Private Sub CreateTable( ByRef Grid As DataGrid,

ByRef sName As String )

Dim Table As DataTable = New DataTable(sName)

Table.Columns.Add(New DataColumn( “STT” )) Table.Columns.Add(New DataColumn( “MaSach” )) Table.Columns.Add(New DataColumn( “TuaSach” )) Table.Columns.Add(New DataColumn( “TacGia” ))

m_DataSet.Tables.Add(Table) Grid.SetDataBinding(m_DataSet, sName)

End Sub

Trang 50

Trương Phước Hải

Ví dụ minh họa tìm kiếm sách:

 Viết hàm đưa dữ liệu từ DataReader lên Grid

Duyệt dữ liệu bằng DataReader

50

Lập trình quản lý nâng cao

Private Sub ShowData( ByRef Grid As DataGrid)

m_Reader = m_Cmd.ExecuteReader() ‟thực thi truy vấn

CreateTable(Grid, “KQTimKiem” )

Dim i As Integer = 0

While m_Reader.Read()

i += 1 m_DataSet.Tables(0).Rows.Add( New Object (){

i.ToString(), m_Reader.GetString(0), m_Reader.GetString(1), m_Reader.GetString(2)})

End While

m_Reader.Close()

End Sub

Trang 51

 Dữ liệu thay đổi trong DataSet thông qua đối tượng DataAdapter để cập nhật CSDL.

 Sử dụng đối tượng CommandBuilder để tạo lệnh cập nhật CSDL.

Cập nhật cơ sở dữ liệu

'tái lập kết nối đến CSDL

m_Connection.Open()

'thay đổi giá trị trong dataset

m_Dataset.Tables(0).Rows(0)(2) = "Trương Phước Hải“

'dùng CommandBuilder để tạo lệnh cập nhật

m_CmdBuilder = New SqlCommandBuilder(m_Adapter)

'cập nhật sự thay đổi dữ liệu trong DataTable đến CSDL

m_Adapter.Update(m_Dataset, "Sach" )

Trang 52

Trương Phước Hải

Tích hợp khả năng hỗ trợ XML là đặc tínhnổi bật nhất của ADO.Net

XML là định dạng được dùng để xuất bản

và chuyển dữ liệu của DataSet

Giao tiếp XML

52

Lập trình quản lý nâng cao

'Lưu Dataset thành tập tin XML

m_Dataset.WriteXML( "books.xml" )

'Nạp dữ liệu từ XML vào Dataset

m_Dataset.ReadXML( "books.xml" )

Ngày đăng: 20/12/2013, 10:50

HÌNH ẢNH LIÊN QUAN

Sơ đồ lớp đối tượng DataSet - Tổng quan mô hình truy xuất CSDL ADO.NET
Sơ đồ l ớp đối tượng DataSet (Trang 15)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w