1. Trang chủ
  2. » Cao đẳng - Đại học

hoa cuong có thì sử dụng – thích thì lao vào

45 5 0

Đ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

Định dạng
Số trang 45
Dung lượng 856,5 KB

Nội dung

ứng dụng .Net đọc và cập nhật thông tin DB và các nơi lưu trữ dữ liệu khác.. Namespace: System.Data.[r]

(1)

Chương 8: Sử dụng ADO .Net

Phan Trọng Tiến

Department of Software Engineering Hanoi University of Agriculture

Office location: 3rd floor, Administrative

building

(2)

Nội dung chính

1 Tổng quan

2 Tổng quan ADO Net

3 .Net Data Provider

4 Demo: Lấy liệu dùng ADO Net

5 Đối tượng DataSet

6 Thiết kế gắn kết liệu

7 Tích hợp XML

(3)

Mục đích chương

 Chương cung cấp sinh viên kiến

thức cần thiết để tao ứng dụng

mức cao truy cập liệu dùng VB.Net

 Sau sinh viên có thể:

 Liệt kê lợi ích ADO Net

 Tạo ứng dụng dùng ADO Net

 Liệt kê thành phần đối

tượng ADO.Net chức

 Dùng VS.Net để thiết kế gắn kết

liệu

 Giải thích cách tích hợp XML

(4)

1 Tổng quan

 Bạn học cách sử dụng ADO Net

Cách sử dụng đối tượng DataSet

 Bạn học cách thiết kế liệu

VS.Net cách gắn liệu lên WinForm WebForm.

 Cuối bạn học cách tích hợp

(5)

2 Tổng quan ADO Net

 Giới thiệu ADO Net

(6)(7)

Giới thiệu ADO.Net

 ADO.Net tập lớp cho phép

ứng dụng Net đọc cập nhật thông tin DB nơi lưu trữ liệu khác

Namespace: System.Data

 ADO.Net cung cấp đồng cách truy cập

các nguồn liệu khác SQL

Server, OLE DB, nguồn liệu không quan hệ MS Exchange, tài liệu XML

 ADO.Net cải tiến khả disconnect tới

(8)

Giới thiệu ADO.Net

 ADO.Net cung cấp hai Net Data Providers:

 Net Data Provider cho SQL Server  Net Data Provider cho OLE DB

 ADO.Net cung cấp nhiều công cụ cho việc

đọc, cập nhật, thêm xóa liệu Nhiều đối tượng thư viện tương tự nhận diện qua tên tiền tố chúng ví dụ SqlDataReader

OleDbDataReader hai cung cấp

(9)

Các lợi ích ADO.Net

 Tương tự ADO

 Được thiết kế cho liệu không kết nối  Nằm nội Net Framework nên rễ

dàng việc sử dụng ngôn ngữ để phát triển

 Hỗ trợ XML

 ADO XML có trước khơng tương thích  ADO dựa sở liệu quan hệ

 XML dựa sở liệu phân cấp

(10)

3 .Net Data Provider

 Net Data Provider cho phép truy cập nguồn

liệu xác định:

System.Data.SqlClient dùng truy câp SQL Server

7.0 trở lên

System.Data.OleDbClient dùng truy cập

nguồn liệu hỗ trợ OLE DB

Dùng đối tượng Connection

 Kết nối tới Database

Dùng đối tượng Command

 Thực thi câu lệnh

Dùng đối tượng Command với Stored ProcedureDùng đối tượng DataReader

 Tạo luồng liệu đọc

Dùng đối tượng DataAdapter

(11)

Dùng đối tượng Connection

 SqlConnection

Dim conSQL As SqlClient.SqlConnection conSQL = New SqlClient.SqlConnection( )

conSQL.ConnectionString = “Server = localhost; DataSource = Northwind; Uid = sa; Pwd = sa;”

conSQL.Open( )

 OleDbConnection

Dim conAccess As OleDb.OleDbConnection conAccess = New OleDb.OleDbConnection( ) conAccess.ConnectionString = "Provider=

(12)

Dùng đối tượng Command

 Có hai cách để tạo

đối tượng Command:

 Sử dụng Contructor

Command

 Sử dụng phương

thức

CreateCommand

 Có ba cách để thực

thi Command:

 ExecuteReader  ExecuteScalar

 ExecuteNonQuery  ExecuteXMLReader

Dim commSQL As SqlClient.SqlCommand commSQL = New SqlClient.SqlCommand( ) commSQL.Connection = conSQL

(13)

Dùng đối tượng Command với các Stored Procedure

Tạo đối tượng CommandThiết lập CommandType

StoredProcedure

Dùng phương thức Add để tạo thiết lập

các biến (Parameter)

Dùng thuộc tính ParameterDirection để

thiết lập kiểu biến

 Gọi phương thức ExecuteReader

 Dùng Record, Close DataReader  Truy cập Output trả biến

(14)

Demo: Dùng đối tượng Command

 Tạo Store SQL Server

CREATE PROCEDURE byroyalty @percentage int AS

select au_id from titleauthor

where titleauthor.royaltyper = @percentage

 Code VB.Net

Imports System.Data.SqlClient

Private Sub Button1_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles Button1.Click

Dim conSQL As SqlClient.SqlConnection conSQL = New SqlClient.SqlConnection( )

conSQL.ConnectionString = “Server = localhost;DataBase = Pubs;" & _ “UID = sa;PWD = sa"

conSQL.Open( )

Dim commSQL As SqlClient.SqlCommand = New SqlCommand( ) commSQL.Connection = conSQL

(15)

Demo: Dùng đối tượng Command

Dim paramSQL As New SqlClient.sqlParameter( _ "@percentage", SqlDbType.Int)

paramSQL.Direction = ParameterDirection.Input paramSQL.Value = "30"

commSQL.Parameters.Add(paramSQL)

Dim datRead As SqlClient.SqlDataReader datRead = commSQL.ExecuteReader( )

Do While datRead.Read( )

MessageBox.Show(datRead(0).ToString)

Loop

datRead.Close( )

(16)

Dùng đối tượng DataReader  Đọc liệu

Dim commSQL As SqlClient.SqlCommand = New _ SqlClient.SqlCommand( )

commSQL.Connection = conSQL

commSQL.CommandText ="Select au_lname,au_fname from authors"

Dim datRead As SqlClient.SqlDataReader datRead = commSQL.ExecuteReader( )

Do Until datRead.Read = False

MessageBox.Show(datRead.GetString(1) & " " & datRead.GetString(0))

Loop

datRead.Close( )  Lấy thông tin

(17)

Dùng đối tượng DataAdapter

 Được sử dụng liên kết

DataSource Các Table lưu trữ trong Cache

Dim adaptSQL As New SqlClient.SqlDataAdapter( _ "Select * from authors", conSQL)

Dim datPubs As DataSet = New DataSet( ) adaptSQL.Fill(datPubs, "NewTable")

' Manipulate the data locally

(18)

4 Demo: Lấy liệu dùng ADO Net

 Bạn học cách lấy liệu từ CSDL

SQL Server việc dùng đối tượng

(19)

5 Đối tượng DataSet

 Tổng quan liệu không kết nối

 Đối tượng DataSet

 Cư trú liệu DataSet

 Sử dụng Relationship DataSet

 Sử dụng Constraint

 Cập nhật liệu DataSet

(20)(21)

Tổng quan liệu không kết nối

 Mỗi công nghệ truy cập liệu

được cải thiện khái niêm không kết nối, nhưng đến ADO.Net cung cấp giải pháp cách đầy đủ.

 ADO.Net thiết kế dùng cho Internet  ADO.Net sử dụng XML định

dạng truyền tải.

 ADO.Net cung cấp đối tượng

(22)(23)

Cư trú liệu DataSet

 Cư trú liệu DataSet từ RDBMS Dim adaptSQL As SqlClient.SqlDataAdapter

adaptSQL = New SqlClient.SqlDataAdapter( "Select * from authors", conSQL)

Dim datPubs As DataSet = New DataSet( ) adaptSQL.Fill(datPubs, "NewTable")

 Lập trình tạo Dataset

Dim datPubs As DataSet = New DataSet( )

(24)

Sử dụng Relationship DataSet

 Tạo Relationship

Dim relPubsTitle As DataRelation = New DataRelation( "PubsTitles",

datPubs.Tables("Publishers").Columns("pub_id"), datPubs.Tables("Titles").Columns("pub_id"))

datPubs.Relations.Add(relPubsTitle)

 Truy cập liệu quan hệ

Dim PubRow, TitleRow As DataRow, TitleRows( ) As

DataRow

(25)

Sử dụng Constraint

 Tạo New Constraint

ForeignKeyConstraints: ràng buộc điều

khiển hàng hàng cha update delete

UniqueConstraints: ràng buộc đảm bảo

các giá trị cột cột

 Sử dụng Constraint tồn

adaptSQL = New SqlClient.SqlDataAdapter("Select title_id, title, type, price from titles", conSQL)

adaptSQL.FillSchema(datPubs, schematype.Source, "Titles") adaptSQL.Fill(datPubs, "Titles")

'Edit some data

(26)

Cập nhật liệu DataSet

 Thêm Rows

Dim drNewRow As DataRow =

datPubs.Tables("Titles").NewRow 'Populate columns

datPubs.Tables("Titles").Rows.Add(drNewRow)

 Thay đổi Rows

drChangeRow.BeginEdit( )

drChangeRow("Title") = drChangeRow("Title").ToString & " 1"

drChangeRow.EndEdit( )

 Xóa liệu

(27)

Cập nhật liệu nguồn

 Chỉ rõ ràng cập nhật

 Tự động phát sinh update

Dim comm As comm.CommandText = "Insert into titles(" & _ "title_id, title, type) values(@t_id,@title,@type)"

comm.Parameters.Add("@t_id",SqlDbType.VarChar,6,"title_id") comm.Parameters.Add("@title",SqlDbType.VarChar,80,"title") comm.Parameters.Add("@type",SqlDbType.Char,12,"type") adaptSQL.InsertCommand = comm

adaptSQL.Update(datPubs, "titles")

Dim sqlCommBuild As New SqlCommandBuilder(adaptSQL) adaptSQL.Update(datPubs, "titles")

(28)(29)

6.Thiết kế gắn kết liệu

 Thiết kế DataSet

 Tùy chỉnh form liệu

 Gắn liệu WinForms

(30)

Thiết kế DataSet

 Tùy chỉnh cấu hình DataAdapter

Phát sinh đối tượng DataAdapter

thủ tục InitializeComponent dùng code bạn

 Công cụ phát sinh DataSet

Phát sinh DataSet sở liệu

(31)

Tùy chỉnh cấu hình DataAdapter

 Tên kết nối

 Kiểu truy vấn

 Câu lệnh SQL

 Hoặc Stored Procedure

 Hoặc Stored Procedure tồn

(32)

Công cụ phát sinh DataSet

Đây công cụ phát sinh DataSet tự động

(33)

Tùy chỉnh form liệu

 Các thông tin yêu cầu:

Tên DataSet

 Connection sử dụng

 Các Table View nào, cột

của chúng

 Cách hiển thị liệu

(34)(35)

Gắn liệu WinForms

 Cách gắn đơn giản

 Cách gắn phức tạp

da = New SqlClient.SqlDataAdapter("Select au_lname, " & _ "au_fname from authors", sqlconn)

da.Fill(ds, "authors")

TextBox1.DataBindings.Add("Text", _ ds.Tables("authors"), "au_fname")

da = New SqlClient.SqlDataAdapter("Select au_lname, " & _ "au_fname from authors", sqlconn)

da.Fill(ds, "authors")

(36)

Gắn liệu WebForms

 Gắn liệu đọc

Dim sqlComm As New SqlClient.SqlCommand("Select“ &_

“ * from authors", sqlconn)

Dim sqlReader As SqlClient.SqlDataReader sqlReader = sqlComm.ExecuteReader

(37)

7.Tích hợp XML

 Tại phải dùng schemas (giản đồ)?

 Miêu tả cấu trúc XML

 Tạo Schemas

 Sử dụng XML Schemas

ADO.Net

(38)

Tại phải dùng Schemas

 Định nghĩa định dạng liệu

 Sử dụng để kiểm tra tính hợp lệ

 Có lợi qua việc định nghĩa

kiểu tài liệu (document type definitions - DTSs )

 Cú pháp XML

 Sử dụng lại kiểu

(39)

Miêu tả cấu trúc XML

 Schemas miêu tả gồm:

 Các phần tử tài liệu (E)

 Các thuộc tính tính tài liệu (A)

 Các quan hệ phần tử thuộc tính

(R)

 Các kiểu liệu

 Thứ tự phần tử

(40)

Ví dụ tài liệu XML

(41)

Ví dụ Tài liệu liên kết schema để miêu tả cấu trúc

<xsd:schema id="pubs“ targetNamespace="http://tempuri.org/Publishers.xsd" xmlns="http://tempuri.org/Publishers.xsd“

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:msdata="urn:schemas-microsoft-com:xml-msdata“ attributeFormDefault="qualified“ elementFormDefault="qualified">

<xsd:element name="pubs" msdata:IsDataSet="true“ msdata:EnforceConstraints="False"> <xsd:complexType>

<xsd:choice maxOccurs="unbounded"> <xsd:element name="Publishers">

<xsd:complexType> <xsd:sequence>

<xsd:element name="pub_id“ type="xsd:string" minOccurs="0" /> <xsd:element name="pub_name“ type="xsd:string" minOccurs="0" /> <xsd:element name="city“ type="xsd:string" minOccurs="0" />

(42)

Tạo Schemas

 Tạo Schemas từ tài liệu XML

tồn tại.

 Tạo Schemas từ Databases

 Làm việc với Schemas

 Kiểm tra tài liệu XML dựa vào

(43)

Dùng liệu XML schemas trong ADO.Net

 Nạp liệu XML vào DataSet

 Sử dụng kiểu DataSet định

nghĩa

 Tăng hiệu

 Đơn giản việc coding

Dim datXML As DataSet = New DataSet() datXML.ReadXml("c:\publishers.xml")

MessageBox.Show(datXML.Tables(0).Rows(0)(0).ToString)

(44)(45)

Ngày đăng: 20/04/2021, 01:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w