Lập trình CSDL - Chuơng 3

Chia sẻ bởi Nguyễn Bùi Minh Tâm | Ngày 19/03/2024 | 15

Chia sẻ tài liệu: Lập trình CSDL - Chuơng 3 thuộc Công nghệ thông tin

Nội dung tài liệu:

LẬP TRÌNH CƠ SỞ DỮ LIỆU
Phần 3: Lập trình CSDL bằng WinForm

Nội Dung
Tổng quan về ADO.NET
Sử dụng các Database Connection
Sử dụng Command
Truy cập cơ sở dữ liệu với Data Reader
Sử dụng DataSet
Hiển thị dữ liệu sử dụng DataGridView
Sử dụng Store Procedure
Cập nhật dữ liệu
11/20/2009
Võ Phương Bình – ITFAC - DLU
2
ADO.NET
ADO (ActiveX Data Objects) là một thư viện của các thành phần COM, bao gồm các thành phần:
Connection, Command, Recordset, và Field.
ADO.NET chứa 2 không gian tên cơ sơ dữ liệu:
Một cho SQL Server.
Một cho các cơ sở dữ liệu được trình bày thông qua một giao diện OLE DB.
11/20/2009
Võ Phương Bình – ITFAC - DLU
3
ADO.NET (tt)
Namespace
System.Data
Các lớp truy xuất dữ liệu chung
System.Data.OleDb
Các lớp của OLE DB provider
System.Data.SqlClient
Các lớp của SQL Server provider
11/20/2009
Võ Phương Bình – ITFAC - DLU
4
ADO.NET (tt)
Các lớp dùng chung
DataSet
Chứa các DataTable, quan hệ giữa các bảng, và được thiết kế cho truy xuất dữ liệu không kết nối.
DataTable
Gồm các thuộc tính dữ liệu DataColumn và DataRows.
DataRow
Một dòng trong bảng cơ sở dữ liệu.
DataColumn
Chứa tên và kiểu dữ liệu của một cột.
11/20/2009
Võ Phương Bình – ITFAC - DLU
5
ADO.NET (tt)
Các lớp cơ sở dữ liệu chuyên biệt
SqlCommand, OleDbCommand
Thực thi lệnh SQL hoặc lời gọi stored procedure.
SqlConnection, OleDbConnection
Kết nối với cơ sở dữ liệu.
SqlDataAdapter, OleDbDataAdapter
Chứa các câu lệnh select, insert, update, và delete, được sử dụng để tạo một DataSet và cập nhật Database.
SqlDataReader, OleDbDataReader
Bộ dữ liệu chỉ đọc, kết nối với DataReader.
SqlParameter, OleDbParameter
Tham số cho một stored procedure.
11/20/2009
Võ Phương Bình – ITFAC - DLU
6
Database Connection
Đoạn mã sau đây mô tả cách để tạo, mở và đóng một kết nối đến cơ sở dữ liệu Northwind:
using System.Data.SqlClient;
string source = "server=(local); database=Northwind; uid=sa; pwd=sa";
SqlConnection conn = new SqlConnection(source);
conn.Open();
// SQL truy vấn …
conn.Close();
11/20/2009
Võ Phương Bình – ITFAC - DLU
7
Command
Command dùng chuỗi lệnh SQL để truy xuất dữ liệu hay sử dụng Store Procedure.
string select = "SELECT ContactName, CompanyName FROM Customers";
SqlCommand cmd = new SqlCommand(select, conn);
CommandType: thuộc tính chỉ việc sử dụng chuỗi SQL hay Store Procedure.
11/20/2009
Võ Phương Bình – ITFAC - DLU
8
Command (tt)
11/20/2009
Võ Phương Bình – ITFAC - DLU
9
Command (tt)
Thực thi Command
ExecuteNonQuery()
Thực thi các command không trả về kết quả gì cả
ExecuteReader()
Thực thi các command và  trả về kiểu IDataReader
ExecuteScalar()
Thực thi các command và trả về một giá trị đơn
11/20/2009
Võ Phương Bình – ITFAC - DLU
10
Gọi Stored Procedure
CREATE PROCEDURE SelectCustomers
(
@CustomerID nchar(5),
@Count int OUT
)
AS
Begin
Select @Count = count(*) From Customers Where CustomerID > @CustomerID
Select * From Customers Where CustomerID = @CustomerID
End
GO
11/20/2009
Võ Phương Bình – ITFAC - DLU
11
Gọi Stored Procedure (tt)
SqlCommand cmd = new SqlCommand("SelectCustomers", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter pa1 = new SqlParameter("@CustomerID", comboBox1.Text);
SqlParameter pa2 = new SqlParameter("@Count", SqlDbType.Int);
pa2.Direction = ParameterDirection.Output;
cmd.Parameters.Add(pa1);
cmd.Parameters.Add(pa2);
SqlDataAdapter da = new SqlDataAdapter(cmd);
11/20/2009
Võ Phương Bình – ITFAC - DLU
12
Data Reader
Data reader là cách đơn giản nhất và nhanh nhất để chọn một vài dữ liệu từ một nguồn cơ sơ dữ liệu, nhưng có ít tính năng.
SqlCommand cmd = new SqlCommand(select , conn);
SqlDataReader aReader = cmd.ExecuteReader(); while(aReader.Read())
Console.WriteLine(" `{0}` from {1}" , aReader.GetString(0) , aReader.GetString(1));
aReader.Close();
11/20/2009
Võ Phương Bình – ITFAC - DLU
13
DataSet
DataSet
DataTable
DataRow
DataColumn
UniqueConstraint
ForeignKeyConstraint
DataRelation
DefaultView
11/20/2009
Võ Phương Bình – ITFAC - DLU
14
DataSet (tt)
SqlDataAdapter da = new SqlDataAdapter(select, conn);
DataSet ds = new DataSet();
da.Fill(ds , "Customers");
foreach(DataRow row in ds.Tables ["Customers"].Rows)
Console.WriteLine("`{0}` from {1}”, row[0], row[1]);
11/20/2009
Võ Phương Bình – ITFAC - DLU
15
DataGridView
SqlDataAdapter da = new SqlDataAdapter(select, conn);
DataSet ds = new DataSet();
da.Fill(ds , "Customers");
dataGridView1.DataSource = ds.Tables[0];
11/20/2009
Võ Phương Bình – ITFAC - DLU
16
DataGridView (tt)
11/20/2009
Võ Phương Bình – ITFAC - DLU
17
Cập nhật dữ liệu
11/20/2009
Võ Phương Bình – ITFAC - DLU
18
Cập nhật dữ liệu
Cơ bản thực thi các câu lệnh SQL cập nhật: Insert, Update, Delete
Có 2 cách:
Thực thi trực tiếp câu lệnh SQL.
Gọi Store Procedure.
11/20/2009
Võ Phương Bình – ITFAC - DLU
19
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Bùi Minh Tâm
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)