Top Banner
LP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS *** ADO.NET
22

MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

Sep 04, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

LẬP TRÌNH TRÊN MÔI TRƯỜNG WINDOWS

***ADO.NET

Page 2: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

2

Nội dung trình bày

Giới thiệu Connected Model Disconnected Model

Page 3: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

3

Giới thiệu

ADO.NET là một tập các lớp thư viện được sử dụngđể truy xuất dữ liệu

Chiến lược truy xuất dữ liệu Connected Model Disconnected Model

Chương trình CSDL, XML…

Thêm/xóa/sửa dữ liệu

Đọc dữ liệu

Page 4: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

4

Giới thiệu

Connected Model

Disconnected Model

Chương trình

Chương trình

Page 5: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

5

Giới thiệu

.NET Data Provider Dùng để kết nối đến CSDL, thực hiện các câu lệnh, và

nhận kết quả trả về. Hiện có 4 loại data provider chính

ADO.NET

ODBC

ApplicationOLE DB

Oracle

SQL Server

.NET Data Provider

Page 6: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

6

Giới thiệu

.NET Data Provider Các thành phần của .NET Data Provider

.NET Data Provider

???Connection

???Command

???DataReader

???DataAdapter

SelectCommand

DeleteCommand

UpdateCommand

InsertCommand

Parameters ???Parameter

Page 7: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

7

Connected Model

Kết nối vào CSDL Thực hiện lệnh

Thêm/Xóa/Sửa dữ liệu Đọc dữ liệu từ CSDL

Page 8: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

8

Connected Model

Kết nối vào CSDL Các lớp phụ trách kết nối

ODBCConnection OleDBConnection SqlConnection OracleConnection

Thuộc tính quan trọng ConnectionString: xác định nguồn dữ liệu cần kết nối

Phương thức quan trọng Open: mở kết nối Close: đóng kết nối

Page 9: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

9

Connected Model

Kết nối vào CSDLVí dụ: kết nối vào AccessOleDbConnection cnn = new OleDbConnection();cnn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;

Data Source=hocsinh.mdb";cnn.Open();

//Các lệnh cần thực hiện

cnn.Close();

Page 10: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

10

Connected Model

Thực hiện lệnh Các lớp phụ trách

ODBCCommand OleDBCommand SqlCommand OracleCommand

Thuộc tính quan trọng Connection: xác định CSDL sẽ thực hiện thao tác CommandText: xác định thao tác cần thực hiện Parameters: xác định các tham số lệnh

Phương thức quan trọng ExecuteReader: phù hợp lệnh Select trả ra 1 bảng dữ liệu ExecuteScalar: phù hợp lệnh Select trả ra 1 giá trị ExecuteNonQuery: phù hợp lệnh Insert, Delete, Update

Page 11: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

11

Connected Model

Thực hiện lệnh Thêm/Xóa/Sửa dữ liệu

Ví dụ:

OleDbCommand cmd = new OleDbCommand();cmd.Connection = cnn;cmd.CommandText = "insert into Hocsinh values(5,'Lê Văn A','227

Nguyễn Văn Cừ','11/12/2006',5,7)";cmd.ExecuteNonQuery();

Page 12: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

12

Connected Model

Ví dụOleDbCommand cmd = new OleDbCommand();cmd.Connection = cnn;cmd.CommandText = "insert into Hocsinh

values(@Ma,@Ten,@Diachi,@NgaySinh,@Toan,@Van)";

OleDbParameter para=cmd.Parameters.Add("@Ma",OleDbType.Integer);para.Value=1;para=cmd.Parameters.Add("@Ten",OleDbType.VarWChar);para.Value="Lê Văn A";para=cmd.Parameters.Add("@Diachi",OleDbType.VarWChar);para.Value="Nguyễn Văn Cừ";para = cmd.Parameters.Add("@Ngaysinh", OleDbType.Date);para.Value = new DateTime(1982,10,1);para=cmd.Parameters.Add("@Toan",OleDbType.Integer);para.Value=5;para=cmd.Parameters.Add("@Van",OleDbType.Integer);para.Value=7;

cmd.ExecuteNonQuery();

Page 13: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

13

Connected Model

Thực hiện lệnh Đọc dữ liệu từ CSDL Dùng lệnh ExecuteReader hoặc ExecuteScalar Lớp XXXDataReader

Read GetXXX IsDBNull

Author 3Book33

Author 2Book 22

Author 1Book 11

AuthorBookNameBookID

Page 14: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

14

Connected Model

Thực hiện lệnh Đọc dữ liệu từ CSDL Ví dụ

OleDbDataReader rd = cmd.ExecuteReader();while (rd.Read()){

if (!rd.IsDBNull(3))Console.WriteLine(rd.GetDateTime(3));

}

Page 15: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

15

Disconnected Model

Data Source

DataSetÁnh xạ

DataSet

DataTable

Columns

Rows

DataColumn

DataRow

Tables

Relations DataRelation

Page 16: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

16

Disconnected Model

DataTable TableName: tên bảng. Columns: danh sách các cột (DataColumn). Rows: danh sách các mẫu tin (DataRow). PrimaryKey: danh sách các cột làm khóa chính (DataColumn). NewRow(): tạo một mẫu tin mới.

DataColumn ColumnName: tên cột. DataType: kiểu dữ liệu cột.

DataRow RowState: trạng thái của mẫu tin (Added, Modified, Deleted,

Unchanged…). Toán tử [ i ]: truy xuất đến cột i của mẫu tin. Delete(): đánh dấu xóa mẫu tin.

Page 17: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

17

Disconnected Model

SelectCommand

UpdateCommand

InsertCommand

DeleteCommand

DataAdapter

Data Source

DataSet

-- FillFill: : ddùùngng SelectCommandSelectCommand llấấyy ddữữ liliệệuu ttừừ Data Source Data Source đđổổ vvààooDataSetDataSet..-- UpdateUpdate: : ddùùngng InsertCommandInsertCommand, , UpdateCommandUpdateCommand vvààDeleteCommandDeleteCommand ccậậpp nhnhậậtt ddữữ liliệệuu trongtrong DataSetDataSet vvààoo Data Data Source.Source.

Page 18: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

18

Disconnected Model

Thực hiện lệnh Đọc dữ liệu từ CSDL Xử lý dữ liệu Cập nhật dữ liệu xuống CSDL

Page 19: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

19

Disconnected Model

Đọc dữ liệu từ CSDLOleDbDataAdapter da = new OleDbDataAdapter(

"select * from HocSinh", cnn);DataSet dsHocSinh=new DataSet();da.Fill(dsHocSinh, "HocSinh");for (int i = 0; i < dsHocSinh.Tables["HocSinh"].Rows.Count; i++){

listBox1.Items.Add(dsHocSinh.Tables["HocSinh"].Rows[i]["HoTen"].ToString()

);}

Page 20: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

20

Disconnected Model

Xử lý dữ liệu Thêm dữ liệu

DataRow newRow;newRow=dsHocSinh.Tables["HocSinh"].NewRow();newRow[0] = 10;newRow[1] = "Lê Thị B";dsHocSinh.Tables["HocSinh"].Rows.Add(newRow);

Xoá dữ liệudsHocSinh.Tables["HocSinh"].Rows[0].Delete();

Thay đổi dữ liệuDataRow row = dsHocSinh.Tables["HocSinh"].Rows[1];row.BeginEdit();row[0] = 11; row[1] = "Lê Thị C";row.EndEdit();

Page 21: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

21

Disconnected Model

Cập nhật dữ liệu xuống CSDLOleDbCommandBuilder buider =

new OleDbCommandBuilder(da); da.Update(dsHocSinh, "HocSinh");

Page 22: MÔI TRƯỜNG WINDOWS *** ADO - tienhuong.files.wordpress.com · 5 Giới thiệu .NET Data Provider Dùng đểkết nối đến CSDL, thực hiện các câu lệnh, và nhận

22