3.3.1. Chức năng
Đối tượng Connection có nhiệm vụthực hiện kết nối đến Cơ sởdữliệu để các đối tượng như Command thao tác với CSDL thông qua Connection này.
Đối tượng Connection có hai phương thức hay dùng là Open() để mở kết nối tới CSDL và Close() để đóng kết nối tới CSDL.
3.3.2. Khai báo
Chúng ta có một số cách khai báo đối tượng Connection như sau: usingSystem;
usingSystem.Data;
usingSystem.Data.SqlClient;
namespaceWindowsFormsInCSharp
{
public partial classfrmADONET:Form
publicfrmADONET()
{
InitializeComponent();
}
//Khai báo chuỗi kết nối tới CSDL (Server là .\SQLEXPRESS, Tên cơ sởdữliệu là CSDL)
static stringstrConnect =@"Data Source=.\SQLEXPRESS;Initial Catalog=CSDL;Integrated Security=True";
//Khai báo đối tượng Connection (SqlConnection)
SqlConnectionsqlCon;//Cách 1
SqlConnectionsqlCon2 =newSqlConnection();//Cách 2
SqlConnectionsqlCon3 =newSqlConnection(strConnect);//Cách 3
}
3.3.3. Kết nối tới Cơ sởdữliệu - Mởkết nối tới CSDL
Sử dụng phương thức Open() của đối tượng Connection để mở kết nối tới CSDL (trong ConnectionString - chuỗi kết nối
tới CSDL).
Sau khi gọi phương thức Open(), có thể xem đã kết nối thanh công hay không thông qua thuộc tính State của Connection:
if(sqlCon.State ==ConnectionState.Open) MessageBox.Show("Đã kết nối thành công tới CSDL");
- Đóng kết nối
Sửdụng phương thức Close() của đối tượng Connection để đóng kết nối tới CSDL.
Chú ý: Chúng ta thường viết một phương thức để mởkết nối tới CSDL và một phương thức để đóng kết nối tới CSDL như sau:
usingSystem.Data;
usingSystem.Data.SqlClient;
namespaceWindowsFormsInCSharp
{
public partial classfrmADONET:Form
publicfrmADONET()
{
InitializeComponent();
}
//Khai báo chuỗi kết nối tới CSDL
static stringstrConnect =@"Data Source=.\SQLEXPRESS;Initial Catalog=CSDL;Integrated Security=True";
//Khai báo đối tượng Connection (SqlConnection)
SqlConnectionsqlCon;//sửdụng cách 1
//Phương thức kết nối tới CSDL (thường gọi trong sựkiện Load của Form)
voidKetNoi()
{
sqlCon =newSqlConnection(strConnect);
//Kết nối tới nguồn CSDL
sqlCon.Open();
//Kiểm tra kết nối có thành công hay không có thể làm như sau:
if(sqlCon.State ==ConnectionState.Open)
MessageBox.Show("Kết nối thành công!");
}
//Ngắt kết nối (thường gọi trong sựkiện FormClosing của Form)
voidNgatKetNoi()
{
sqlCon.Close();
}
//Gọi phương thức Mởkết nối
private voidfrmADONET_Load(objectsender,EventArgse)
{
}
//Gọi phương thức ngắt kết nối
private voidfrmADONET_FormClosing(objectsender,FormClosingEventArgse)
{
NgatKetNoi();
}