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

ADO.NET - ThS. Nguyễn Hà Giang ppt

58 320 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề ADO.NET - ThS. Nguyễn Hà Giang ppt
Tác giả ThS. Nguyễn Hà Giang
Chuyên ngành Information Technology
Thể loại ppt
Năm xuất bản 2009
Định dạng
Số trang 58
Dung lượng 895,31 KB

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

Nội dung

n ADO.NET là một phần của .NET Framework q Thư viện lớp có chức năng thao tác dữ liệu trong ngôn ngữ MS.NET n ADO.NET là dạng “ Disconnected ” q Cho phép lấy cả một cấu trúc phức tạp của

Trang 1

AD O.N ET

ThS Nguyễn Hà Giang

Trang 3

Gi i thi u ADO.NET

n ActiveX Data Object NET (ADO.NET)

q Công nghệ của MS trên NET Framework

q Phát triển từ nền tảng ADO

q Cung cấp các lớp đối tượng và hàm thư viện phục

vụ cho việc kết nối và xử lý dữ liệu

.NET Application

ADO.NET

Trang 4

Gi i thi u ADO.NET

n Mô hình NET Framework

Microsoft NET Framework

Common Language Runtime

Base Classes

Web Services User Interface

Data and XML

Trang 6

Database ODBC API

DB API

Trang 7

Provider Provider Provider Provider

Relational Data Non-Relational Data

Trang 8

Quá trình phát triển

ADO.NET

Trang 10

n ADO.NET là một phần của NET Framework

q Thư viện lớp có chức năng thao tác dữ liệu trong ngôn ngữ MS.NET

n ADO.NET là dạng “ Disconnected

q Cho phép lấy cả một cấu trúc phức tạp của DL từ CSDL, sau đó ngắt kết nối rồi mới thực hiện thao tác xử lý!

q ADO luôn phải duy trì kết nối trong suốt quá trình làm việc.

Trang 11

Môi tr ng “ connected ”

n Mỗi user có một kết nối cố định tới data source

n Ưu điểm

q Môi trường được bảo vệ tốt

q Kiểm soát được sự đồng bộ

q Dữ liệu luôn được mới

q Phải có một kết nối mạng cố định

q Scalability

Trang 12

Môi tr ng “ disconnected ”

n Một tập con của dữ liệu trung tâm được sao chép

và bổ sung độc lập, sau đó sẽ được merge lại

vào dữ liệu trung tâm.

n Ưu điểm

q Có thể làm việc bất cứ lúc nào, cũng như có thể kết nối bất kỳ vào Data Source

q Cho phép user khác có thể kết nối

q Nâng cao hiệu suất thực hiện của ứng dụng

n Khuyết

q Dữ liệu không được cập nhật một cách nhanh nhất

q Sự tranh chấp có thể xuất hiện và phải giải quyết

Trang 13

n ADO.NET mạnh mẽ

q Kế thừa các ưu điểm của ADO

q Kết hợp với ý tưởng thiết kế hoàn toàn mới

n Đặc điểm nổi bật

q Thiết kế hoàn toàn dựa vào XML

n Chuẩn giao tiếp dữ liệu phổ biến nhất trên môi trường Internet hiện nay

q Thiết kế hoàn toàn hướng đối tượng

n Đặc trưng của thư viện NET Framework

Trang 14

Recordset : tương đương 1 bảng

dữ liệu trong database

Dataset : tương đương 1 database

Duyệt dữ liệu Recordset chỉ cho phép duyệt tuần

tự, từng dòng một.

Dataset : duyệt “tự do, ngẫu nhiên”, truy cập thẳng tới bảng, dòng, cột mong muốn.

Dữ liệu ngắt kết

nối

Recordset thiên về hướng kết nối, nên việc hỗ trợ ngắt kết nối không mạnh

Dataset hỗ trợ hoàn toàn ngắt kết nối

Trao đổi dữ liệu

qua Internet

Khả năng trao đổi dữ liệu ADO qua Internet thường có nhiều hạn chế Do dùng chuẩn COM

ADO.NET trao đổi dữ liệu qua Internet rất dễ dàng vì ADO.NET được thiết kế theo chuẩn XML, là chuẩn dữ liệu chính được sử dụng

để trao đổi trên Internet.

Trang 15

n Kiến trúc của ADO.NET gồm 2 phần chính

tác dữ liệu, phải thực hiện kết nối khi thao tác

n Connection : quản lý việc đóng mở DB

q ???Connection: Sql Connection, OleDb Connection

n Command : lệnh truy vấn, tương tác dữ liệu khi đang lập kết nối

q ???Command: Sql Command, OleDb Command

n DataReader : đọc dữ liệu, chỉ xử lý 1 dòng dữ liệu tại một thời điểm

q ???DataReader: Sql DataReader, OleDb DataReader

n DataAdapter : cầu nối giữa DB và DataSet

Trang 17

Mô h ì nh i t ng ADO.NET

Trang 18

C á c l p th vi n ADO.NET

n System.Data OleDb : Access, SQL Server, Oracle

n System.Data SqlClient : SQL Server

n System.Data OracleClient : Oracle

n Đặc điểm:

q Cả ba thư viện trên về giao tiếp lập trình là giống nhau

q Dùng thư viện SqlClient truy xuất SQL Server

nhanh hơn OleDb

q Tương tự cho OracleClient

Trang 20

NET Data Provider

n Mô hình NET Data Provider

Trang 21

NET Data Provider - Connection

Connection

Thuộc tính & Phương thức

• ConnectionString: chuỗi kết nối DataSource

• Open(): thiết lập kết nối đến DS

• Close(): đóng kết nối với DS

Trang 22

NET Data Provider - Connection

n Mô tả CSDL sử dụng minh họa

DBMS MS SQL Server Express 2005

DB 1 CSDL StudentDB

DB 2 CSDL Northwind

Trang 23

NET Data Provider - Connection

SqlConnection cnn = new SqlConnection();

cnn.ConnectionString = “ server= \\SQLEXPRESS;

Trang 24

NET Data Provider - Connection

ODBC/OLE DB Connection (*) Database

MS Access Driver = {Microsoft Access Driver (*.mdb)};

DBQ = <đường dẫn file access>

Provider=Microsoft.Jet.OLEDB.4.0; Data Source

= <đường dẫn file access>

SQL Server Driver = {SQLServer}; Server = ServerName;

Database= DatabaseName; Uid=Username;

Pwd=Password;

Provider= SQLOLEDB; Data Source=ServerName; Initial Catalog=DatabaseName; UserId=Username; Password=Password

(*): Xem thêm chuỗi kết nối trong: http://www.connectionstrings.com/?carrier=sqlserver2005

Trang 25

NET Data Provider - Connection

OleDbConnection cnn = new OleDbSqlConnection();

Trang 26

NET Data Provider - Command

Connection Command

Thuộc tính & Phương thức

• Connection: kết nối để thực hiện lệnh

• CommandText: câu lệnh cần thực hiện

• CommandType: loại câu lệnh (Text,TableDirect, StoredProc)

• ExecuteScalar(): thực hiện câu lệnh và trả về giá trị đơn

• ExecuteNonQuery(): gọi các lệnh SQL, store, trả về số row bị

tác động (Insert, Update, Delete…)

• ExecuteReader(): thực hiện lệnh và trả về DataReader

Trang 27

NET Data Provider - Command

SqlConnection cnn = new SqlConnection();

cnn.ConnectionString = “server=.\\SQLEXPRESS;

database=Northwind; Trusted_connection=true”;

SqlCommand cmd = new SqlCommand(“”,cnn);

cmd.CommandText = “ SELECT COUNT(*) FROM Customers ”;

cnn.Open();

int count = (int) cmd.ExecuteScalar();

cnn.Close();

SQL Command

Trang 28

NET Data Provider - Command

SqlConnection conn = new SqlConnection();

conn.ConnectionString = " Data source=.\\SQLEXPRESS; "+

" Initial Catalog=StudentDB; Integrated security=yes; ";

SqlCommand cmd = new SqlCommand();

Trang 29

NET Data Provider - Command

n Tham số hóa câu lệnh

q Một câu lệnh được sử dụng nhiều lần!

Câu lệnh được tham

số hóa

Trang 30

NET Data Provider - Command

cmd.Parameters[" @MS "].Value = 999;

cmd.Parameters[" @HT "].Value = "Nguyen Ha Giang";

cmd.Parameters[" @NS "].Value = new DateTime(1978,12,4);

Trang 31

NET Data Provider - DataReader

Connection Command DataReader

Thuộc tính & Phương thức

HasRow : cho biết câu truy vấn có trả về dữ liệu

Read() : đọc một mẫu tin

[i] : truy xuất đến cột i của mẫu tin được đọc

Close() : đóng

Truy xuất tuần tự Chỉ đọc dữ liệu

Cơ chế kết nối

Trang 32

NET Data Provider - DataReader

SqlCommand cmd = new SqlCommand(“ SELECT *

FROM Sinhvien ", conn);

SqlDataReader reader ;

conn.Open();

reader = cmd ExecuteReader ();

while ( reader Read())

listBox1.Items.Add( reader ["Hoten"]);

Trang 33

NET Data Provider - DataAdapter

Data Source

DataAdapter DataTable

DataTable

DataSet

DataAdapter Fill

Trang 34

NET Data Provider - DataAdapter

Thuộc tính & Phương thức

Fill (DataSet): sử dụng SelectCommand lấy dữ liệu từ Data Source

đổ vào Data Set

Update (DataSet): InsertCommand, UpdateCommand,

DeleteCommand cập nhật dữ liệu trong DataSet vào DataSource

DataBase DataAdapter DataSet

Trang 35

NET Data Provider - DataAdapter

string strConn=" Server=.\\SQLEXPRESS; Database=StudentDB;

Trusted_connection=true ";

SqlDataAdapter adapter = new

SqlDataAdapter(“ SELECT * FROM Sinhvien ", strConn);

DataSet ds = new DataSet();

Trang 37

n Là phần cơ sở dữ liệu được lưu trữ trong bộ

nhớ (in-memory database)

n Cơ chế không kết nối

n Nhờ đối tượng DataAdapter làm trung gian

Trang 38

Based on one SQL statement from one database

Read-only

Manually coded Faster access

Forward and backward scanning of data

Bind to multiple controls

Includes multiple tables from different databases

Read/write access to data

DataReader DataSet

Trang 39

DataRow(s) DataColumn Constraint(s)

DataTable DataTable

Trang 41

DataSet - DataTable

n DataTable: thể hiện một bảng trong CSDL

Thuộc tính & Phương thức

• TableName: tên của bảng dữ liệu

Columns : danh sách các cột

Rows : danh sách các mẫu tin

• PrimaryKey: danh sách các cột là khóa chính

NewRow (): tạo một dòng mới (lưu ý dòng mới này chưa thuộc về Rows của table)

Trang 43

DataSet - DataRow

n DataRow: đại diện cho mẫu tin trong bảng

q RowState: trạng thái Added, Modified, Deleted,…

q [i]: truy xuất đến cột i

q Delete(): đánh dấu xóa mẫu tin

DataTable

Row

Trang 44

string strConn = "data source=.\\SQLEXPRESS; Initial

Catalog=StudentDB; integrated security=yes;";

string strCmd = “SELECT * FROM Sinhvien";

SqlDataAdapter da = new SqlDataAdapter(strCmd, strConn);

SqlCommandBuilder builder = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds); // da.Fill(ds, “SinhVien”); đặt tên cho bảng là SinhVien

foreach (DataRow dr in ds.Tables[0].Rows)

dr["Ngaysinh"] = DateTime.Now;

da.Update(ds); // phải tạo đối tượng builder cho da

DataSet – Update Row

VD: Cập nhật tất cả các cột với ngày giờ hiện hành

Trang 45

SqlDataAdapter da = new SqlDataAdapter(strCmd, strConn);

SqlCommandBuilder builder = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);

DataTable table = ds.Tables[0];

DataRow[] rows = table.Select("Ngaysinh<'1/1/1980'");

foreach (DataRow r in rows)

r.Delete();

DataSet – Delete Row

Lấy các dòng có ngày sinh trước

1/1/1980

Đánh dấu xóa các

dòng này

Trang 47

Data Source Configuration Wizard

n Trong VS.NET 2005 có chức năng Data Source Configuration Wizard

q Nhanh chóng thiết lập Data Source cho project

q Xây dựng form hiển thị và thao tác dữ liệu

n Thông qua thao tác kéo thả từ Data Source

Trang 48

Data Source Configuration Wizard

n Tạo một ứng dụng Windows Application

n Trong menu Data | Add New Data Source…

Trang 49

Data Source Configuration Wizard

n Tạo New Connection

Trang 50

Data Source Configuration Wizard

n Hoàn tất khai báo Data Source

Chuỗi kết nối

Trang 51

Data Source Configuration Wizard

n Lưu chuỗi kết nối trong file cấu hình

Tên của chuỗi kết nối

Trang 52

Data Source Configuration Wizard

Trang 53

Data Source Configuration Wizard

n Wizard sẽ tạo ứng dụng với Data Source

Data Sources Windows

Form in Design View

Trang 54

Data Source Configuration Wizard

n Kéo thả binding control vào Form

q Trong cửa sổ Data Source

n Chọn bảng cần sử dụng

q Thiết lập view là DataGridView hay Details

§ Kích chọn vào dấu mũi tên xuống sau tên bảng

Trang 55

Data Source Configuration Wizard

n Kéo Table thả vào Form

q Tự động tạo các binding control cho table

Detail

Trang 56

Data Source Configuration Wizard

n Bổ sung DataGridView cho Form

q Thay đổi Table sang DataGrid

q Kéo Table trong Data Source thả vào Form

DataGridView

Trang 57

Data Source Configuration Wizard

n Kết quả ứng dụng

Ngày đăng: 28/03/2014, 16:20

HÌNH ẢNH LIÊN QUAN

Bảng Sinhvien - ADO.NET - ThS. Nguyễn Hà Giang ppt
ng Sinhvien (Trang 52)

TỪ KHÓA LIÊN QUAN