ADO.NET
Không bàn v lch s và s xut hin ca ADO.NET nhưng bn phi chú ý : ADO.NET
không phi là version mi ca ADO (ActiveX Data Object) và ADO.NET cũng không
phi làActiveX Data Object .NET’.
ADO.NET và các lp .NET cơ bn
Namespace Chú thích
System.Data Classes,interfaces,delegates,enumeration trong kiến trúc
ADO.NET
System.Data.Common Các lp chia s .NET Framework data providers
System.Data.Design T to dataset
System.Data.Odbc .NET Framework data provider cho ODBC
System.Data.Oledb .NET Framework data provider cho OLE DB
System.Data.Sql Cung cp kết ni SQL Server
System.Data.OracleClien
t
.NET Framework data provider cho Oracle
System.Data.SqlClient .NET Framework data provider cho SQL Server
System.Data.SqlServerC
e
.NET compact framework data provider cho SQL Server
Mobile
System.Data.SqlTypes Các kiu d liu ca SQL Server
Microsoft.SqlServer.Serv
er
Thành phn cho SQL Server và CLR
Hiu v kiến trúc ADO.NET
ADO.NET có 2 thành phn chính : data providers và datasets
Bn có th thy mi quan h ca chúng trên hình. Chú ýDataView class’ không
phi là mt thành phn ‘data provider’. DataView được s dng phn ln để gn (bind)
d liu vào winform và webform.
Hình trên là s khác nhau khi s dng SQL Server và OLE DB data providers để truy
cp (access) vào mt cơ s d liu SQL Server.
Hình dưới đây minh ha mi tương quan chung gia Access và SQLServer
S dng SQL Server Data Provider
.NET data provider cho SQL Server trong tên min ‘System.Data.SqlClient’ giúp kết ni
trc tiếp vi server s dng network protocol ca nó không phi đi qua các layers khác.
Các hàm thường s dng :
1. SqlCommand : thc thi SQL queries, câu lnh hoc lưu tr th tc
2. SqlConnection : to kết ni ti SQL Server
3. SqlDataAdapter : cu ni trung gian gia dataset và data source
4. SqlReader : cung cp mt data stream ti kết qu
5. SqlError : lưu tr thông tin v li và cnh cáo (warning)
6. SqlException : các ngoi l trong trường hp SQL Server li và cnh báo
7. SqlParameter : tham sô biên command
8. SqlTransaction : transaction ca SQL Server
Th to mt Console Application s dng SQL Server Data Provider
M Visual C# to mt project mi chn : Console Application -> OK
M file Program.cs và dùng code sau :
[code]
using System;
using System.Data;
using System.Data.SqlClient;
namespace Chapter04
{
class SqlServerProvider
{
static void Main(string[] args)
{
// To mt connection
string connString = @"
server = .\sqlexpress;
integrated security = true;
database = northwind
";
// To query
string sql = @"
SELECT
*
FROM
employees
";
// Khi to kết ni và DataReader
SqlConnection conn = null;
SqlDataReader reader = null;
try
{
// M kết ni
conn = new SqlConnection(connString);
conn.Open();
//Thc thi query
SqlCommand cmd = new SqlCommand(sql, conn);
reader = cmd.ExecuteReader();
// In kết qu
Console.WriteLine(
"Chương trình th hin cách s dng "
+ "SQL Server Data Provider."
);
Console.WriteLine(
"Querying database {0} with query {1}\n"
, conn.Database
, cmd.CommandText
);
Console.WriteLine("First Name\tLast Name\n");
// Phân tích kết qu
while(reader.Read()) {
Console.WriteLine(
"{0} | {1}"
, reader["FirstName"].ToString().PadLeft(10)
, reader[1].ToString().PadLeft(10)
);
}
}
catch (Exception e)
{
Console.WriteLine("Error: " + e);
}
finally
{
//Ngt kết ni
reader.Close();
conn.Close();
}
}
}
}
[/code]
Trong chuôi kết ni có tham s :
[code] integrated security = true [/code]
Cho biết s dng Windows Authentication , vì vy bt c user log vào Windows đều có
th truy cp SQLEXPRESS
S dng OLE DB Data Provider