Professional Documents
Culture Documents
ADO.NET
Không bàn về lịch sử và sự xuất hiện của ADO.NET nhưng bạn phải chú ý : ADO.NET không
phải là version mới của ADO (ActiveX Data Object) và ADO.NET cũng không phải là ‘ActiveX
Data Object .NET’.
Page 1 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
Bạn có thể thấy mối quan hệ của chúng trên hình. Chú ý ‘DataView class’ không phải là
một thành phần ‘data provider’. DataView được sử dụng phần lớn để gắn (bind) dữ liệu vào
winform và webform.
Page 2 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
Hình trên là sự khác nhau khi sử dụng SQL Server và OLE DB data providers để truy cập
(access) vào một cơ sở dữ liệu SQL Server.
Hình dưới đây minh họa mối tương quan chung giữa Access và SQLServer
Page 3 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
.NET data provider cho SQL Server trong tên miền ‘System.Data.SqlClient’ giúp kết nối trực tiếp
với server sử dụng network protocol của nó không phải đi qua các layers khác.
1. SqlCommand : thực thi SQL queries, câu lệnh hoặc lưu trữ thủ tục
2. SqlConnection : tạo kết nối tới SQL Server
3. SqlDataAdapter : cầu nối trung gian giữa dataset và data source
4. SqlReader : cung cấp một data stream tới kết quả
5. SqlError : lưu trữ thông tin về lỗi và cảnh cáo (warning)
6. SqlException : các ngoại lệ trong trường hợp SQL Server lỗi và cảnh báo
7. SqlParameter : tham sô biên command
8. SqlTransaction : transaction của SQL Server
Thử tạo một Console Application sử dụng SQL Server Data Provider
Page 4 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
[code]
using System;
using System.Data;
using System.Data.SqlClient;
namespace Chapter04
{
class SqlServerProvider
{
static void Main(string[] args)
{
// Tạo một connection
string connString = @"
server = .\sqlexpress;
integrated security = true;
database = northwind
";
// Tạo query
string sql = @"
SELECT
*
FROM
employees
";
// Khởi tạo kết nối và DataReader
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
// Mở kết nối
conn = new SqlConnection(connString);
conn.Open();
//Thực thi query
SqlCommand cmd = new SqlCommand(sql, conn);
reader = cmd.ExecuteReader();
// In kết quả
Console.WriteLine(
"Chương trình thể hiện cách sử dụng "
+ "SQL Server Data Provider."
);
Console.WriteLine(
"Querying database {0} with query {1}\n"
, conn.Database
, cmd.CommandText
);
Console.WriteLine("First Name\tLast Name\n");
Page 5 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
[/code]
Cho biết sử dụng Windows Authentication , vì vậy bất cứ user log vào Windows đều có thể truy
cập SQLEXPRESS
.NET Framework data provider cho OLE DB nằm trong tên miền ‘System.Data.Oledb’.
1. OledbCommand : thực thi các SQL queries, câu lệnh hoặc lưu trữ thủ tục.
2. OledbConnection : tạo kết nối tới một OLE DB source
3. OledbDataAdapter : tạo cầu nối giữa dataset và data source
4. OledbDataReader : cung cấp data stream tới các rows của data source
5. OledbError : Lưu trữ thông tin về lỗi và cảnh báo
6. OledbParameter : tham số command
7. OledbTransaction : transaction của SQL
Page 6 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
[code]
using System.Data.Oledb;
….
String connString = @”
Provider = sqloledb;
conn.Open();
[/code]
1. OdbcCommand : thực thi SQL queries, câu lệnh hoặc lưu trữ thủ tục
2. OdbcConnection : kết nối tới ODBC data source
Page 7 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
Để áp dụng cho bài trên cần tạo một ODBC Data Source trước
Sau đó OK , chọn Test để kiểm tra Connection nếu sai thì sửa lại thông tin kết nối.
Sau đó bảng ODBC Data Source Admin ta thấy có thêm một source
Áp dụng vào bài trên, thay đổi code ban đầu một số dòng sau
[code]
using System.Data.Odbc;
conn.Open();
Page 8 of 9
Că n bả n ADO.NET cho ngườ i lậ p trình C# Author : 2007
Xcross87
[/code]
Chỉ biết mấy cái đó thôi biết gì viết vậy thông cảm heng.
Page 9 of 9