Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...MasterCode.vn
Giới thiệu về ADO.NET
Các thành phần của ADO.NET
DataProvider
DataSet
Các loại DataProvider
Sql Data Provider
SqlConnection
SqlDataAdapter
Ứng dụng nhiều form
Ứng dụng SDI
Ứng dụng MDI
Thêm Toolbar, Tooltip vào form
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...MasterCode.vn
Sử dụng Wizard để tạo nguồn dữ liệu
Buộc dữ liệu với điều khiển bằng Designer
Buộc dữ liệu với điều khiển DataGridView
Buộc dữ liệu với TextBox
Buộc dữ liệu với ComboBox
Truy vấn dữ liệu bằng Designer
Tùy chỉnh Toolbar
Tạo form Master/Detail
Triển khai ứng dụng
Sử dụng Wizard để tạo nguồn dữ liệu
Buộc dữ liệu với điều khiển bằng Designer
Buộc dữ liệu với điều khiển DataGridView
Buộc dữ liệu với TextBox
Buộc dữ liệu với ComboBox
Truy vấn dữ liệu bằng Designer
Tùy chỉnh Toolbar
Tạo form Master/Detail
Triển khai ứng dụng
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
Truy cập tới CSDL qua mạng
Hỗ trợ mô hình Client/Server
Kho dữ liệu (Data WareHouse)
Tương thích với chuẩn ANSI/ISO SQL -92
Hỗ trợ tìm kiếm Full- Text (Full- Text Search)
Hỗ trợ tìm kiếm thông tin trực tuyến (Books Online)
Các kiểu dữ liệu mới và các hàm thư viện làm việc với
các kiểu dữ liệu này như XML, Các kiểu dữ liệu giá trị lớn
(lưu ảnh, video…)
Hỗ trợ FileStream để thao tác với các đối tượng nhị phân
lớn (BLOB)
Language-Integrated Query (LINQ)
Hỗ trợ DotNet 3.5
……
Một số tính năng của SQL Server 2008
Các kiểu dữ liệu mới và các hàm thư viện làm việc với
các kiểu dữ liệu này như XML, Các kiểu dữ liệu giá trị lớn
(lưu ảnh, video…)
Hỗ trợ FileStream để thao tác với các đối tượng nhị phân
lớn (BLOB)
Language-Integrated Query (LINQ)
Hỗ trợ DotNet 3.5
……
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...MasterCode.vn
Giới thiệu về ADO.NET
Các thành phần của ADO.NET
DataProvider
DataSet
Các loại DataProvider
Sql Data Provider
SqlConnection
SqlDataAdapter
Ứng dụng nhiều form
Ứng dụng SDI
Ứng dụng MDI
Thêm Toolbar, Tooltip vào form
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...MasterCode.vn
Sử dụng Wizard để tạo nguồn dữ liệu
Buộc dữ liệu với điều khiển bằng Designer
Buộc dữ liệu với điều khiển DataGridView
Buộc dữ liệu với TextBox
Buộc dữ liệu với ComboBox
Truy vấn dữ liệu bằng Designer
Tùy chỉnh Toolbar
Tạo form Master/Detail
Triển khai ứng dụng
Sử dụng Wizard để tạo nguồn dữ liệu
Buộc dữ liệu với điều khiển bằng Designer
Buộc dữ liệu với điều khiển DataGridView
Buộc dữ liệu với TextBox
Buộc dữ liệu với ComboBox
Truy vấn dữ liệu bằng Designer
Tùy chỉnh Toolbar
Tạo form Master/Detail
Triển khai ứng dụng
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
Truy cập tới CSDL qua mạng
Hỗ trợ mô hình Client/Server
Kho dữ liệu (Data WareHouse)
Tương thích với chuẩn ANSI/ISO SQL -92
Hỗ trợ tìm kiếm Full- Text (Full- Text Search)
Hỗ trợ tìm kiếm thông tin trực tuyến (Books Online)
Các kiểu dữ liệu mới và các hàm thư viện làm việc với
các kiểu dữ liệu này như XML, Các kiểu dữ liệu giá trị lớn
(lưu ảnh, video…)
Hỗ trợ FileStream để thao tác với các đối tượng nhị phân
lớn (BLOB)
Language-Integrated Query (LINQ)
Hỗ trợ DotNet 3.5
……
Một số tính năng của SQL Server 2008
Các kiểu dữ liệu mới và các hàm thư viện làm việc với
các kiểu dữ liệu này như XML, Các kiểu dữ liệu giá trị lớn
(lưu ảnh, video…)
Hỗ trợ FileStream để thao tác với các đối tượng nhị phân
lớn (BLOB)
Language-Integrated Query (LINQ)
Hỗ trợ DotNet 3.5
……
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net - minh tuấn
1. LẬP TRÌNH TRÊN
MÔI TRƯỜNG WINDOWS
***
ADO.NET
Phạm Minh Tuấn
pmtuan@fit.hcmuns.edu.vn
2. Nội dung trình bày
Giới thiệu
Connected Model
Disconnected Model
Khoa CNTT - ĐH KHTN 01/10/13 2
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
Thêm/xóa/sửa dữ liệu
Đọc dữ liệu
Chương trình
CSDL, XML…
Chiến lược truy xuất dữ liệu
Connected Model
Disconnected Model
Khoa CNTT - ĐH KHTN 01/10/13 3
4. Giới thiệu
Connected Model
Chương trình
Disconnected Model
Chương trình
Khoa CNTT - ĐH KHTN 01/10/13 4
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
.NET Data Provider
SQL Server
Oracle
OLE DB
ADO.NET
Application
ODBC
Khoa CNTT - ĐH KHTN 01/10/13 5
6. Giới thiệu
.NET Data Provider
Các thành phần của .NET Data Provider
.NET Data Provider
???Connection ???DataAdapter
SelectCommand
???Command
InsertCommand
Parameters ???Parameter
UpdateCommand
DeleteCommand
???DataReader
Khoa CNTT - ĐH KHTN 01/10/13 6
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
Khoa CNTT - ĐH KHTN 01/10/13 7
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
Khoa CNTT - ĐH KHTN 01/10/13 8
9. Connected Model
Kết nối vào CSDL
Ví dụ: kết nối vào Access
OleDbConnection 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();
Khoa CNTT - ĐH KHTN 01/10/13 9
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
Khoa CNTT - ĐH KHTN 01/10/13 10
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();
Khoa CNTT - ĐH KHTN 01/10/13 11
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();
Khoa CNTT - ĐH KHTN 01/10/13 12
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 BookID BookName Author
IsDBNull 1 Book 1 Author 1
2 Book 2 Author 2
3 Book3 Author 3
Khoa CNTT - ĐH KHTN 01/10/13 13
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));
}
Khoa CNTT - ĐH KHTN 01/10/13 14
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.
Khoa CNTT - ĐH KHTN 01/10/13 16
17. Disconnected Model
DataAdapter
SelectCommand
InsertCommand
DataSet
UpdateCommand
Data Source
DeleteCommand
- Fill: dùng SelectCommand lấy dữ liệu từ Data Source đổ vào
DataSet.
- Update: dùng InsertCommand, UpdateCommand và
DeleteCommand cập nhật dữ liệu trong DataSet vào Data
Source.
Khoa CNTT - ĐH KHTN 01/10/13 17
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
Khoa CNTT - ĐH KHTN 01/10/13 18
19. Disconnected Model
Đọc dữ liệu từ CSDL
OleDbDataAdapter 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()
);
}
Khoa CNTT - ĐH KHTN 01/10/13 19
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ệu
dsHocSinh.Tables["HocSinh"].Rows[0].Delete();
Thay đổi dữ liệu
DataRow row = dsHocSinh.Tables["HocSinh"].Rows[1];
row.BeginEdit();
row[0] = 11;
row[1] = "Lê Thị C";
row.EndEdit();
Khoa CNTT - ĐH KHTN 01/10/13 20
21. Disconnected Model
Cập nhật dữ liệu xuống CSDL
OleDbCommandBuilder buider =
new OleDbCommandBuilder(da);
da.Update(dsHocSinh, "HocSinh");
Khoa CNTT - ĐH KHTN 01/10/13 21