Kết nối C# với Database

Các bài viết trong: Quan hệ C# và Database
Phần 1: Kết nối C# với Database
Phần 2: Sql Command
Phần 3: SqlDataReader & Dataset
Phần 4: Stored Procedure
Phần 5: Function và Trigger

Việc hiểu quan hệ giữa C# và Database trong việc xây dựng các ứng dụng (website) là rất quan trọng, Trong loạt bài viết này sẽ cung cấp các kiến thức nền tảng trong việc kết nối C# với Database. Bạn xem và bổ xung kiến thức cho khả năng lập trình của mình.

Trong bài viết đầu tiên này mình sẽ giới thiệu về  Kết nối C# với Database

Microsoft cung cấp các "data provider" như sau:

Data Provider Namespace Connection Class
ODBC System.Data.Odbc OdbcConnection
OLE DB System.Data.Oledb OledbConnection
Oracle System.Data.OracleClient OracleConnection
SQL Server System.Data.SqlClient SqlConnection
SQL Server CESystem.Data.SqlServerCe SqlCeConnection

Trong đó thường sử dụng nhất là: ODBC, OLE DB, SQL Server. Trong đó SQL là được dùng rộng rãi nhất, vì vậy SQL sẽ được chọn để minh họa. Và mình sẽ sử dụng Northwind database là cơ sở dữ liệu mẫu có sẵn khi bạn cài SQL server.
Ta sẽ bắt đầu bằng việc mở kết nối như ví dụ dưới đây:

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Database : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string connectString = @"Server =.\SQL2005;Initial Catalog=Northwind;User ID=sa;Password=******";
        // Tạo một connection tới máy chủ
        SqlConnection conn = new SqlConnection(connectionString);
        try
        {
            conn.Open();
            //thuc hien cac cong viec can thiet o day        
        }
        catch (SqlException ex)
        {
            Console.WriteLine("Error: " + ex);
        }
        finally
        {
            conn.Close();
        }
    }
}

Như vậy là xong việc kết nối.

 


Lưu ý:

  • Khối lệnh try..catch..finally là khối lệnh bạn nên luôn luôn thực hiện vì những lý do sau: Nếu bạn thực hiện lệnh conn.Open() thành công nó sẽ nhảy xuống thực hiện khối lệnh trong finally là conn.Close(), còn nếu kết nối không thành công nó sẽ xử lý ngoại lệ (Khối catch), sau đó cũng nhảy xuống thực hiện conn.Close(). Như vậy ta thấy dù kết nối thành công hay ko thành công thì việc conn.Close() trong khối lệnh finally đều được thực thi và nó sẽ hạn chế sự hao tổn tài nguyên. Vậy là cứ mở kết nối thực thi các yêu cầu xong ta lại đóng kết nối lại -> Sẽ không tốn tài nguyên.
  • Nếu bạn sử dụng  Windows Authentication thì chuỗi kết nối như sau: string connectString = @"Server =.\SQL2005;database=Northwind;Integrated Security = true";