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

Tài liệu Thao tác CSDL với ADO.NET pdf

38 769 8
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 đề Thao tác CSDL với ADO.NET
Trường học Trường Đại học Khoa học Tự nhiên
Chuyên ngành Thiết kế và Lập trình Web 2
Thể loại Bài giảng
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 38
Dung lượng 0,94 MB

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

Nội dung

.NET Data Provider - Connection Thuộc tính và phương thức của Connection: ConnectionString: loại Data Source cần kết nối.. .NET Data Provider - CommandConnection: kết nối dùng để thực

Trang 1

Thiết kế và Lập trình Web 2

Thao tác CSDL với ADO.NET

Trường Đại học Khoa học Tự nhiên

Trang 4

ADO.NET là gì?

 ADO.NET (ActiveX Data Object NET)

– Công nghệ của Microsoft

– Phát triển tự nhiên từ ADO

– Cung cấp các đối tượng và hàm thư viện dùng để kết nối và xử

lý trên CSDL

Trang 5

Sơ lược lịch sử phát triển

ODBC

Driver Driver Driver Application

Trang 6

Provider Provider Provider Provider

Trang 8

ODBC OLE DB

.NET Data Provider

ADO.NET

Trang 9

Kiến trúc ADO.NET (cont)

 Cơ chế kết nối (Connected)

 Cơ chế không kết nối (Disconnected)

 Các hệ quản trị CSDL hạn chế số lượng kết nối

 Duy trì quá nhiều kết nối làm cho server quá tải

Trang 11

.NET Data Provider

.NET Data Provider

Parameters ???Parameter

Trang 12

.NET Data Provider - Connection

 Thuộc tính và phương thức của Connection:

ConnectionString: loại Data Source cần kết nối

Open(): thiết lập kết nối đến Data Source

Close(): ngắt kết nối đến Data Source

Data Source Application

Connection

Trang 13

.NET Data Provider – Connection (cont)

SqlConnection cnn = new SqlConnection();

Trang 14

Connection string (Access, SQL Server,…)

 Tạo connection string

Database ODBC/OLEDB Connection String

Trang 15

Đường dẫn tới tập tin Access

 Server.MapPath(StringPath)

– ánh xạ đường dẫn tương đối StringPath thành đường dẫn đến thư mục vật lý trên Server

– Ví dụ: Giả sử tập tin asp sử dụng hàm Server.MapPath

được lưu tại D:\MyWebsite

Kết quả

Server.MapPath( “myDB.mdb” ); D:\MyWebsite\myDB.mdb

Server.MapPath( “Database/myDB.mdb” ); D:\MyWebsite\Database\myDB.mdb

Server.MapPath( “ /myDB.mdb” ); D:\myDB.mdb

Trang 16

.NET Data Provider - Command

Data Source Application

Connection 011010011

011010011

Command

Trang 17

.NET Data Provider - Command

Connection: kết nối dùng để thực hiện câu lệnh

CommandText: câu lệnh cần thực hiện trên Data Source

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

ExecuteScalar(): thực hiện câu lệnh trong CommandText, kết quả trả về là một giá trị đơn

ExecuteNonQuery(): thực hiện câu lệnh trong CommandText

và không có kết quả trả về

ExecuteReader(): thực hiện câu lệnh trong CommandText, kết quả trả về là một DataReader

Trang 18

.NET Data Provider – Command (cont)SqlConnection cnn = new SqlConnection();

SqlCommand cmd = new SqlCommand();

Trang 19

.NET Data Provider – Command (cont)

SqlConnection cnn = new SqlConnection();

SqlCommand cmd = new SqlCommand();

cnn.ConnectionString = “server=localhost; database=QLHS; user id=sa; password=sa”;

cmd.Connection = cnn;

cmd.CommandText =

“INSERT INTO HocSinh(id_hocsinh, tenhocsinh, dtb)” +

“VALUES(5, „Nguyễn Văn A‟, 8.5)”;

cmd.CommandType = CommandType.Text;

cnn.Open();

cmd.ExecuteNonQuery();

Trang 20

.NET Data Provider - Parameter

 Mục đích sử dụng:

Một vài giá trị trong câu lệnh chỉ biết khi thực hiện câu lệnh

Cần thực hiện câu lệnh nhiều lần với các giá trị khác nhau

 Các bước thực hiện:

Tham số hóa câu lệnh: ? hoặc @[tên tham số]

Tạo các parameters tương ứng cho command

Đặt giá trị cho các parameter mỗi khi dùng command thực hiện câu lệnh

Trang 21

.NET Data Provider – Parameter (cont)

Trang 22

.NET Data Provider – Parameter (cont)

 Tạo các parameter cho Command:

Trang 23

.NET Data Provider – Parameter (cont)

foreach (Student s in studentList)

{

cmd.Parameters[“@id”] = i;

cmd.Parameters[“@ten”] = s.studentName; cmd.Parameters[“@dtb”] = s.studentMarks; cmd.ExecuteNonQuery();

}

Trang 24

.NET Data Provider – DataReader

Data Source Application

011010011

Trang 25

.NET Data Provider - DataReader

 Thuộc tính và phương thức của DataReader:

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

Read(): đọc một mẫu tin vào DataReader

Toán tử [ i ]: truy xuất đến cột i trong mẫu tin đọc được

Trang 26

.NET Data Provider – DataReader (cont)

SqlConnection cnn = new SqlConnection();

SqlCommand cmd = new SqlCommand();

cnn.ConnectionString = “server=localhost; database=Northwind; user id=sa; password=sa”);

Trang 27

.NET Data Provider - DataAdapter

SelectCommand

UpdateCommand InsertCommand

DeleteCommand

DataAdapter

Data Source

DataSet

 Thuộc tính và phương thức của DataAdapter:

Fill(DataSet): dùng SelectCommand lấy dữ liệu từ Data Source

đổ vào DataSet

Update(DataSet): dùng InsertCommand, UpdateCommand và DeleteCommand cập nhật dữ liệu trong DataSet vào Data

Source

Trang 28

.NET Data Provider – DataAdapter (cont)

SqlDataAdapter da = new SqlDataAdapter(

“SELECT * FROM Orders”,

“server=localhost; database=Northwind; user id=sa; password=sa”);

DataSet ds = new DataSet();

da.Fill(ds);

// Does something on the DataSet.

Trang 32

DataSet - DataTable

 DataTable thể hiện một bảng trong cơ sở dữ liệu.

 Các thuộc tính và phương thức:

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

Trang 34

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

Trang 35

DataSet (cont)

DataTable table = new DataTable(“SinhVien”);

table.Columns.Add(new DataColumn(“MSSV”, Type.GetType(“Int32”)); table.Columns.Add(new DataColumn(“HoTen”, Type.GetType(“string”));

table.PrimaryKey = new DataColumn[] { table.Columns[“MSSV”] };

DataRow row = table.NewRow();

row[“MSSV”] = 123;

row[“HoTen”] = “Nguyễn Văn A”;

table.Rows.Add(row);

Trang 36

DataSet (cont)

SqlDataAdapter da = new SqlDataAdapter(

“SELECT * FROM Orders”,

“server=localhost; database=Northwind; user id=sa; password=sa”);

DataSet ds = new DataSet();

da.Fill(ds);

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

row[“OrderDate”] = DateTime.Now;

da.Update(ds);

Trang 37

DataSet (cont)

SqlDataAdapter da = new SqlDataAdapter(

“SELECT * FROM Orders”,

“server=localhost; database=Northwind; user id=sa; password=sa”);

DataSet ds = new DataSet();

da.Fill(ds);

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

if (row[“CustomerID”].ToString() == “Nguyễn Văn A”)

row.Delete();

da.Update(ds);

Trang 38

DataSet (cont)

 So sánh DataSet và DataReader:

Tốc độ truy xuất

Bô nhớ lưu trữ

Thuận tiện trong thao tác

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

Ngày đăng: 13/12/2013, 12:15

TỪ KHÓA LIÊN QUAN

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

w