SqlConnection sqlCon = new SqlConnection();
try
{
string sqlConect = @"Data Source=hongnhat2\SQLEXPRESS;Initial Catalog=QLNS;User ID=sa;Password=123";
sqlCon.ConnectionString = sqlConect;
sqlCon.Open(); // mở kết nối dữ liệu
MessageBox.Show( sqlCon.State.ToString() );
if( sqlCon.State==ConnectionState.Open)
{
//Làm cái gì đó !
}
}
catch(Exception exx)
{
MessageBox.Show(exx.Message);
}
finally
{
sqlCon.Close();
}
Cú pháp chung:
Data Source=tên_máy_chủ;Initial Catalog=Ten_DB;Integrated Security=true
Data Source=tên_máy_chủ;Initial Catalog=Ten_DB;User Id=User;Password=Pass;
Ví dụ:
string strCn_Kieu_01 = @"Data Source=.\SQLEXPRESS;Initial Catalog=TenDB;Integrated Security=true"; string strCn_Kieu_02 = @"Data Source=TenCSDL\SQLEXPRESS;Initial Catalog=TenDB;Integrated Security=true";
string strCn_Kieu_03 = @"Data Source=TenCSDL\SQLEXPRESS;Initial Catalog=TenDB;User Id=sa;Password=123;";
var strConnectString = @"Data Source=hongnhat2\SQLEXPRESS;
Initial Catalog=QLNS;
User ID=sa;Password=123";
SqlConnection con = new SqlConnection(strConnectString);
con.Open();
SqlCommand command = new SqlCommand();
command.CommandText = "Select * From tbNhanVien";
command.Connection = con;
SqlDataReader readDB_SQL= command.ExecuteReader();
DataTable dt = new DataTable();
if (readDB_SQL.HasRows)
dt.Load(readDB_SQL);
string strConnectString = @"Data Source=hongnhat\SQLEXPRESS;Initial Catalog=PhanMemBanHang;Integrated Security=true";
string strCmdSQL = "select * from tbKhachHang";
SqlConnection con = new SqlConnection(strConnectString);
SqlCommand cmd = new SqlCommand(strCmdSQL, con);
con.Open();
SqlDataAdapter adpt = new SqlDataAdapter(cmd);
DataTable table = new DataTable();
adpt.Fill(table);
Dữ liệu được trả về biến table, nếu dùng winform bạn tạo 1 dataGridView1 để xem dữ liệu
dataGridView1.DataSource = table;
Qua 2 ví dụ trên ta thấy có các đối tượng cần quan tâm khi kết nối C# đến SQL Server.
Các biến đối tượng chính cần sử dụng để kết nối C# đến SQL
SqlConnection con = new SqlConnection("chuổi kết nối");
Ta có thể kiểm tra tình trạng kết nối trước khi lấy dữ liệu
if (connection.State != ConnectionState.Open)
return ;
Biến SqlConnection làm nhiều vụ kết nối C# đến SQL Server nó được coi như 1 sợi dây kết nối.
SqlCommand cmd = new SqlCommand(strCmdSQL, con);
Biến SqlCommand nhiệm vụ thông dịch viên, gởi câu lệnh Select, insert, update, delete... từ C# đến SQL Server
SqlDataAdapter adpt = new SqlDataAdapter(cmd);
Biến SqlDataAdapter nhiệm vụ làm thông dịch viên, chuyển kết quả từ nhiệm vụ của biến SqlCommand thành kết quả C# cần như trả về 1 table
Lỗi 1: String or binary data would be truncated SQL Server
Nguyên nhân: của lỗi String or binary data would be truncated là do khai báo biến
Độ rộng của SqlParameter lớn hơn độ rộng của cột SQL Server
Lỗi 2: instance failure' error while connection string is correct
Nguyên nhân: do câu Connect String bị sai cú pháp
string strConnectString = @"Data Source=hongnhat\\SQLEXPRESS;Initial Catalog=PhanMemBanHang;Integrated Security=true";
string strConnectString = @"Data Source=hongnhat\SQLEXPRESS;Initial Catalog=PhanMemBanHang;Integrated Security=true";
Bạn xem 2 câu ConnectString có khác nhau không, câu màu xanh sẽ chạy được, câu màu đỏ sẽ lỗi.
Tìm kiếm:
Khi lập trình C# kết nối với SQL Server các lỗi thường phát sinh, nguyên nhân và cách khắc phục