Lập trình C# (C Sharp)

SqlConnection

SqlConnection (System.Data.SqlClient.SqlConnection) là lớp biểu diễn sự kết nối tới SQL Server. Sử sử dụng SqlConnection thực hiện như sau:

  • Tạo đối tượng SqlConnection từ một chuỗi kết nối tới SQL Server
  • Mở kết nối với phương thức Open()
  • Thực hiện các truy vấn bằng cách sử dụng các lớp như SqlCommand, SqlDataAdapter, SqlDataReader ...
  • Không còn sử dụng đến kết nối nữa thì cần đóng lại bằng phương thức Close

Chuỗi kết nối với SQL Server

Chuỗi kết nối (connection string) là tham số để khởi tạo ra đối tượng SqlConnection, chuỗi này chứa các thông tin cơ bản để thực hiện kết nối đến một SQL Server, các thông tin được chứa theo cặp key=value; ví dụ chuỗi "key 1=value1;key 2=value2", dưới dây tham khảo một số key

KEY Mô tả
Connect Timeout
Hoặc
Timeout
Hoặc
Connection Timeout
Số giây cố gắng kết nối trước khi phát sinh lỗi (mặc định 15s)
Data Source
Hoặc
Server
Hoặc
Address
Hoặc
Addr

Key này dùng để gán địa chỉ mạng (IP, NET) của SQL Server, hoặc là tên của hiện hành đang chạy của SQL Server. Nếu muốn gán cả cổng thì sẽ thêm vào phía sau.

The name or network address of the instance of SQL Server to which to connect. The port number can be specified after the server name:
Initial Catalog
Hoặc
Database
Tên của Database
Password
Hoặc
PWD
Password để kết nối
User ID
Hoặc
UID
Tài khoản (account) dùng để đăng nhập

Tạo chuỗi kết nối cơ bản

Chuỗi có dạng như sau:

Server=ServerAddress;Database=DataBaseName;User Id=Username;Password=myPassword;

Hoặc

Data Source=ServerAddress;Database=DataBaseName;User Id=Username;Password=myPassword;

Ví dụ

SQL Server ở máy có địa chỉ IP 192.168.1.10, có CSDL tên exampledb, cho phép kết nối với User/Password là testuser/testpass, thì tạo ra chuỗi kết nối và đối tượng SqlConnection như sau:

String connectionString = "Server=192.168.1.10;Database=exampledb;User Id=testuser;Password=testpass;";
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();   //Mở kết nối
//...Code truy vấn, cập nhật dữ dữ liệu ở đây
sqlConnection.Close();  //Đóng kết nối sau khi sử dụng

Nếu sử dụng using thì kết nối sẽ tự động đóng lại ở cuối khối using, nên không cần phải gọi Close

String connectionString = "Server=192.168.1.10;Database=exampledb;User Id=testuser;Password=testpass;";
using (SqlConnection sqlConnection = new SqlConnection(connectionString))
{
    sqlConnection.Open();//Mở kết nối
    //...Code truy vấn, cập nhật dữ dữ liệu ở đây
}

SqlConnectionStringBuilder

SqlConnectionStringBuilder giúp tạo ra chuỗi kết nối, bằng cách thiết lập từng loại key ở trên, sau đó nó phát sinh chuỗi kết nối giúp bạn. Ví dụ:

SqlConnectionStringBuilder stringBuilder = new SqlConnectionStringBuilder();
stringBuilder["Server"] = "192.168.1.10";
stringBuilder["Database"] = "exampledb";
stringBuilder["User Id"] = "testuser";
stringBuilder["Password"] = "testpass";

String connectionString = stringBuilder.ConnectionString;