SlideShare a Scribd company logo
1 of 8
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 1 of 8
Dưới đây là tổng quan về cách kết nối tới cơ sở dữ liệu MS SQL Server 2005.
Như ở kì trước các bạn đã biết về các lớp cung cấp kết nối tới dữ liệu (Data Connection Provider Classes),
tất cả đều sử dụng System.Data.IdbConnection interface cho ứng dụng. Dưới đây là bảng tổng hợp lại các
„data provider‟ được cung cấp bởi Microsoft :
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 CE System.Data.SqlServerCe SqlCeConnection
Bây giờ hãy thử ứng dụng vào tạo một kết nối tới Microsoft SQL Server 2005 (bạn phải setup cái này vào
mấy trước đó) dùng lớp „SqlConnection‟. Dưới đây là một ví dụ kết nối tới database qua máy chủ SQL
Server 2005.
[code]
using System;
using System.Data;
using System.Data.SqlClient;
public class KetNoiSQLServer
{
public static void Main()
{
// Tạo connection string để kết nối
string connectionString = @"Server = .SQLEXPRESS;" +
"Integrated Security = true";
// Tạo một connection tới máy chủ
SqlConnection conn = new SqlConnection(connectionString);
// QUA TRINH KET NOI
try
{
// Mở kết nối
conn.Open();
Console.WriteLine("Connection opened !");
}
catch (SqlException sqle)
{
// Thông báo biến cố khi kết nối
Console.WriteLine("Error: " + sqle.Message);
}
finally
{
// Đóng kết nối
conn.Close();
Console.WriteLine("Connection closed !");
}
}
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 2 of 8
}
[/code]
Phân tích đoạn code trên một chút :
_Phần đầu code ta khai báo tên miền và các lớp cần sử dụng để kết nối, ở đây ta dùng lớp „SqlConnection‟
để kết nối cho nên dùng tên miền „System.Data.SqlConnection‟.
_Sau đó tạo một chuỗi chứa thông tin tham số truyền khi kết nối, nôm na thì hiểu là thông tin kết nối tới
máy chủ. Giải thích ngắn gọn về chuỗi kết nối này
[code]
// Tạo connection string để kết nối
string connectionString = @"Server = .SQLEXPRESS;" +
"Integrated Security = true";
[/code]
Với : Server = .SQLEXPRESS; là tên server mà ta cần kết nối tới, ở đây mặc định sau khi cài
Microsoft SQL Server 2005 Express thì default thường là SQLEXPRESS. Còn kí hiệu ở trước “ . “ thực
chất là gọi tên máy chứa cơ sở dữ liệu cần kết nối. Thông thường nếu bạn làm việc offline thì mặc định là
„localhost‟. Hai kí hiệu : “ . “ và “(local)” là tương đương nhau. Vì thế ở đoạn code trên bạn có thể viết
lại khai báo server là : @“Server = (local)SQLEXPRESS”
Với : Integrated Security = true đây là chỉ định cách kết nối tới cơ sở dữ liệu, ở đây trên máy
của tớ thì để Windows Authentication cho nên tham số „Integrated Security‟ mang giá trị „True‟ như trên
khi kết nối, nếu bạn không dùng Windows Authentication thì bạn phải cung cấp Username | Password
đăng nhập vào hệ cơ sở dữ liệu.
Còn nhiều tham số trong chuỗi kết nối ( connection string ) khác nhưng sẽ đề cập sau chi tiết hơn về
thông tin kết nối.
_Sau đó tạo một đối tượng chứa thông tin kết nối ( thông tin này nằm trong chuỗi kết nối connection
string ) :
[code]
// Tạo một connection tới máy chủ
SqlConnection conn = new SqlConnection(connectionString);
[/code]
_Vậy là bạn đã có một đối tượng chứa thông tin kết nối đầy đủ. Việc tiếp theo là „THỬ” kết nối tới cơ sở
dữ liệu xem thế nào.
_Yêu cầu đối tượng mở kết nối tớ cơ sở dữ liệu.
[code]
try
{
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 3 of 8
// Mở kết nối
conn.Open();
Console.WriteLine("Connection opened !");
}
[/code]
_Nếu như trong trường hợp kết nối mà có lỗi thì kết nối tự động ngắt đi và dừng chương trình. Nếu như ta
không dùng cặp quan hệ „ try…catch…finally „ để kiểm tra kết nối thì nếu gặp lỗi thì sẽ có thông báo lỗi
và ta không biết được lỗi gì khi kết nối vì vậy ở đây lỗi bắt được bị ném vào trong „catch‟ và in ra lỗi bắt
được ( lỗi bắt được luôn được ghi ở chế độ Debug nếu như bạn RUN chương trình ở Debug mode chứ
không phải là Release mode ).
[code]
catch (SqlException sqle)
{
// Thông báo biến cố khi kết nối
Console.WriteLine("Error: " + sqle.Message);
}
[/code]
Lớp „SqlException‟ là lớp chứa thông tin về các lỗi bắt trong quá trình kết nối tới hệ cơ sở dữ liệu SQL
Server. Bạn có thể xem thông tin chi tiết hơn về các Exception của SQL trong trang chủ MSDN.
_Cuối cùng khi kết nối thành công và không gặp trở ngại gì thì ta tiến hành công việc trong thẻ finally. Ở
đây là đóng kết nối.
[code]
finally
{
// Đóng kết nối
conn.Close();
Console.WriteLine("Connection closed !");
}
[/code]
_Chương trình tưởng chừng đơn giản đọc rất dễ hiểu nhưng nếu bạn có kiến thức sâu hơn về kết nỗi và
tương quan server/client sẽ thấy một số vấn đề ở đây. Tớ đưa ra một số vấn đề mà tớ đã gặp :
+ Giả sử kết nối bị lỗi không thực hiện được thì kết quả ra màn hình chỉ có thông báo lỗi thôi
đùng không ? . Trả lới : Sai ! Có cả thông báo đóng kết nối nữa. Lý do : vì thẻ „finally‟ dùng để đưa ra
thao tác cuối cùng của công việc cho nên sau khi thông báo lỗi xong nó sẽ nhảy tiếp tục thẻ „finally‟.
+ Nếu mà kết nối thế này có bị hao tổn tài nguyên máy không? Trả lời : Có ! Tốn cả 2 bên server
và client. Nếu mà càng nhiều kết nối thực hiện thì hao tổn càng nhiều và làm chậm server rất nhiều và
nhiều lúc quá giới hạn cho phép sẽ không thể thực hiện được kết nối nữa. Vì vậy sau khi mở kết nối thành
công và hoàn thành quá trình xử lý thông tin thì phải đóng kết nối ngay.
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 4 of 8
+ Làm cách nào đảm bảo đóng/mở kết nối đúng quy cách tránh ảnh hưởng nhiều 2 bên server và
client ? Trả lời : Bạn có thể đóng và mở kết nối ngay trong khi „ try „ và cuối cùng đóng thêm một kết nối
tại thẻ „finally‟. Bạn có thể tham khảo code mẫu dưới đây :
Code minh họa đóng/ mở kết nối an toàn :
[code]
// QUA TRINH KET NOI
try
{
// Mở kết nối
conn.Open();
Console.WriteLine("Connection opened !");
//
// Xử lý công việc online
//
// Đóng kết nối
conn.Close();
//
// Xử lý công việc offline
//
// Mở kết nối lần nứa
conn.Open();
//
// Xử lý công việc online
//
// Đóng lại kết nối
conn.Close();
}
catch (SqlException sqle)
{
// Thông báo biến cố khi kết nối
Console.WriteLine("Error: " + sqle.Message);
}
finally
{
// Đóng kết nối
conn.Close();
Console.WriteLine("Connection closed !");
}
[/code]
Nếu như khi kết nối mà SQL Server không xài chế độ Windows Authentication mà có username |
password riêng để truy cập (access) cơ sở dữ liệu (database) thì trong chuỗi kết nối ( connection string )
bạn phải cung cấp username | password cho thông tin kết nối. Dưới đây là một ví dụ dùng username |
password để kết nối :
[code]
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 5 of 8
string connectionString = @"Server = .SQLEXPRESS; " +
"User ID = sa; " +
"Password = pete_87";
[/code]
Ở đây : „sa‟ là tên mặc định cho system administrator và „password‟ là tớ đặt. Thông số này tùy thuộc vào
thông số máy chủ được cài đặt. Bạn có thể có system admin và không xài password. Lúc này password sẽ
được mặc định (default) là chuỗi rỗng (empty string) cho nên trong chuỗi kết nối bạn có thể để tham số là :
Password =;
Nhưng đây không phải một code tốt ^&^.
Dưới đây là bảng các tham số truyền trong chuỗi kết nối, cung cấp thông tin khi kết nối tới máy chủ.
Name Alias Default Value Allowed Value Description
Application Name .NET SqlClient
Data Provider
Any string Name of
Application
AttachDBFileName Extended
properties, initial
file name
None Any path Full path of
attachable
database file
Connect timeout Connection
Timeout
15 0-32767 Seconds to wait
to connect
Data Source Server,Address,
Network Address
None Servername or
network address
Name of the
target SQL
Server instance
Encrypt False True,false,
Yes,no
Use SSL
encryption
Initial Catalog Database None Any database that
exists on server
Database name
Integrated security Trusted_connection False True,false,yes,no,sspi Authentication
mode
Network library Net Dbmssocn Dbnmpntw,
Dbmsrpcn,
Dbmsadsn,
Dbmsgnet,
Dbmslpcn,
Dbmslpcn,
Dbmsspxn,
Dbmssocn
Network.dll
Packet Size 8192 Multiple of 512 Network packet
size in bytes
Password PWD None Any string Password if not
using win authen
Persist Security
Info
False True, false, yes, no Sensitive info
should be passed
back after
connecting
User ID UID None Username if not
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 6 of 8
using win authen
Workstation ID Local
Computer
Name
Anystring Workstation
connecting to
SQL Server
Ví dụ một vài tham số kết nối :
Data Source = .SQLEXPRESS
Server = .SQLEXPRESS
Address = .SQLEXPRESS
Addr = .SQLEXPRESS
Network Address = .SQLEXPRESS
Chú ý là : như đã nói ở trên : .SQLEXPRESS tương đương với (local)EXPRESS
Thử áp dụng vào viết một ứng dụng Console báo cáo thông tin về kết nối.
Kết nối tới SQL Server dùng SqlConnection
Dùng code mẫu sau :
[code]
using System;
using System.Data;
using System.Data.SqlClient;
public class ThongTinKetNoi
{
static void Main()
{
// Connection string
string connString = @"Server = .SQLEXPRESS; " +
"Integrated Security = SSPI";
// Create connection
SqlConnection conn = new SqlConnection(connString);
try
{
// Open connection
conn.Open();
Console.WriteLine("Connection opened.");
// Display connection properties
Console.WriteLine("Connection Properties:");
Console.WriteLine("tConnection String:
{0}",conn.ConnectionString);
Console.WriteLine("tDatabase: {0}",conn.Database);
Console.WriteLine("tDataSource: {0}",conn.DataSource);
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 7 of 8
Console.WriteLine("tServerVersion: {0}",conn.ServerVersion);
Console.WriteLine("tState: {0}",conn.State);
Console.WriteLine("tWorkstationId: {0}",conn.WorkstationId);
}
catch (SqlException e)
{
// Display error
Console.WriteLine("Error: " + e);
}
finally
{
// Close connection
conn.Close();
Console.WriteLine("Connection closed.");
}
}
}
[/code]
Đọc qua code bạn có thể hiểu code dùng như thế nào. Ở đây mình ghi chú thêm một vài điều
_Nếu khi kết nối bạn không chỉ rõ là kết nối tới database nào thì mặc định database sẽ là : master
_Nếu muốn thay đổi database kết nối thì bạn thêm tham số „Database = db_name;‟ vào trong chuỗi kết
nối.
_Nếu bạn đưa vào một database_name không tồn tại trong server thì sẽ gặp thông báo lỗi :
“System.Data.SqlClient.SqlException : Cannot open database „db_name‟ requested by the login. The
login failed.”
_Workstation chỉ định tên của máy mà làm việc với máy chủ database cho nên mỗi máy kết nối tới sẽ thu
kết quả là tên của máy. Nếu mà bạn muốn tất cả các máy kết nối tới máy chủ SQL có một Workstation ID
giống nhau thì trong chuỗi kết nối (connection string) bạn thêm tham số cho Workstation ID. Ví dụ :
Workstation ID = Vo Danh Tieu Tot;
Kết nối tới SQL Server dùng OleDbConnection
Bạn nên đọc bài : ADO.NET cơ bản do tớ viết trước rồi tham khảo ở đây cũng được.
Như đã viết ở đầu bài, khi kết nối ta có thể luân chuyển giữa các nhà cung cấp kết nối để kết nối tới cơ sở
dữ liệu. Ví dụ ở trên là kết nối tới SQL Server dùng lớp „SqlConnection‟.
Phần này tương tự sẽ dùng lớp OleDbConnection để kết nối tới SQL Server.
[code]
using System;
using System.Data;
using System.Data.OleDb;
Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007
Page 8 of 8
public class KetNoiDungOleDbConnection
{
static void Main()
{
// Connection string
string connString = @"Provider = SqlOleDb;
Data Source = .SQLEXPRESS;
Integrated Security = SSPI";
// Create connection
OleDbConnection conn = new OleDbConnection(connString);
try
{
// Open connection
conn.Open();
Console.WriteLine("Connection opened.");
// Display connection properties
Console.WriteLine("Connection Properties:");
Console.WriteLine("tConnection String:
{0}",conn.ConnectionString);
Console.WriteLine("tDatabase: {0}",conn.Database);
Console.WriteLine("tDataSource: {0}",conn.DataSource);
Console.WriteLine("tServerVersion: {0}",conn.ServerVersion);
Console.WriteLine("tState: {0}",conn.State);
}
catch (OleDbException e)
{
// Display error
Console.WriteLine("Error: " + e);
}
finally
{
// Close connection
conn.Close();
Console.WriteLine("Connection closed.");
}
}
}
[/code]
Kết nối tới cơ sở dữ liệu không khó và phức tạp nhưng đòi hỏi kĩ năng và biết cách vận dụng khi kết nối
một cách hợp lý, tránh hao tổn tài nguyên máy.
Kết thúc bài về „tạo kết nối tới cơ sở dữ liệu

More Related Content

What's hot

Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpngohanty13
 
Các bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaCác bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaBrand Xanh
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaANHMATTROI
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaANHMATTROI
 
Ajax report
Ajax reportAjax report
Ajax reportdvcuong
 
Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Hiển Phùng
 
Bai3 basic servlets_956
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956Ham Chơi
 
Net06 asp.net applications & state management
Net06 asp.net applications & state managementNet06 asp.net applications & state management
Net06 asp.net applications & state managementhoangnguyentien
 
Lập trình web – cgi
Lập trình web – cgiLập trình web – cgi
Lập trình web – cgiSon Nguyen
 
Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Ham Chơi
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474Ham Chơi
 
Tan cong kieu sql injection tac hai va phong tranh vn
Tan cong kieu sql injection   tac hai va phong tranh vnTan cong kieu sql injection   tac hai va phong tranh vn
Tan cong kieu sql injection tac hai va phong tranh vnJenny Nguyen
 
7.databinding
7.databinding7.databinding
7.databindingDao Uit
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webMasterCode.vn
 
dCai dat va su dung kaspersky 8.0 for exchange server
dCai dat va su dung kaspersky 8.0 for exchange serverdCai dat va su dung kaspersky 8.0 for exchange server
dCai dat va su dung kaspersky 8.0 for exchange serverNguyễn Bảo Quốc
 
Bảo mật dữ liệu
Bảo mật dữ liệuBảo mật dữ liệu
Bảo mật dữ liệuSon Nguyen
 

What's hot (18)

Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharp
 
Các bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với javaCác bước kết nối csdl my sql với java
Các bước kết nối csdl my sql với java
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
 
Lap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi JavaLap trinh giao dien nguoi dung voi Java
Lap trinh giao dien nguoi dung voi Java
 
Ajax report
Ajax reportAjax report
Ajax report
 
Laptrinh jdbc
Laptrinh jdbcLaptrinh jdbc
Laptrinh jdbc
 
Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1Lap trinhcosodulieuvoi c-sharp_phan-1
Lap trinhcosodulieuvoi c-sharp_phan-1
 
Bai3 basic servlets_956
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956
 
Net06 asp.net applications & state management
Net06 asp.net applications & state managementNet06 asp.net applications & state management
Net06 asp.net applications & state management
 
Lập trình web – cgi
Lập trình web – cgiLập trình web – cgi
Lập trình web – cgi
 
Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474
 
Data provider
Data providerData provider
Data provider
 
Tan cong kieu sql injection tac hai va phong tranh vn
Tan cong kieu sql injection   tac hai va phong tranh vnTan cong kieu sql injection   tac hai va phong tranh vn
Tan cong kieu sql injection tac hai va phong tranh vn
 
7.databinding
7.databinding7.databinding
7.databinding
 
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
 
dCai dat va su dung kaspersky 8.0 for exchange server
dCai dat va su dung kaspersky 8.0 for exchange serverdCai dat va su dung kaspersky 8.0 for exchange server
dCai dat va su dung kaspersky 8.0 for exchange server
 
Bảo mật dữ liệu
Bảo mật dữ liệuBảo mật dữ liệu
Bảo mật dữ liệu
 

Similar to Tao mot ket noi toi co so du lieu dung c#

Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nayledoanduc
 
6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
DBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLEDBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLEMinh Tri Lam
 
Mo hinh ado.net
Mo hinh ado.netMo hinh ado.net
Mo hinh ado.netXuan Tran
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHPNIIT - ICT Hà Nội
 
Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5Thanh Tuan Ngo
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...MasterCode.vn
 
De cuongthuchanhct221 hk2_1920_n1
De cuongthuchanhct221 hk2_1920_n1De cuongthuchanhct221 hk2_1920_n1
De cuongthuchanhct221 hk2_1920_n1Nahudi Nguyễn
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...zzsunzz
 
Bai 4 lap trình phia client
Bai 4  lap trình phia clientBai 4  lap trình phia client
Bai 4 lap trình phia clientLee Nam Nguyen
 
Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)Linh Nguyen
 
Hoc sql server 2000
Hoc sql server 2000Hoc sql server 2000
Hoc sql server 2000phamhuuai
 
Dos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.comDos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.comphanleson
 

Similar to Tao mot ket noi toi co so du lieu dung c# (20)

Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
access
accessaccess
access
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
DBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLEDBLINK BETWEEN MS SQL SERVER & ORACLE
DBLINK BETWEEN MS SQL SERVER & ORACLE
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
Mo hinh ado.net
Mo hinh ado.netMo hinh ado.net
Mo hinh ado.net
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
 
Báo cáo tuần đồ án
Báo cáo tuần đồ ánBáo cáo tuần đồ án
Báo cáo tuần đồ án
 
Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5Bao cao thuc tap tuan 5
Bao cao thuc tap tuan 5
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
De cuongthuchanhct221 hk2_1920_n1
De cuongthuchanhct221 hk2_1920_n1De cuongthuchanhct221 hk2_1920_n1
De cuongthuchanhct221 hk2_1920_n1
 
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
S vnet.vn 51. [silde bài giảng] lập trình trên môi trường windows với ado.net...
 
Bai 4 lap trình phia client
Bai 4  lap trình phia clientBai 4  lap trình phia client
Bai 4 lap trình phia client
 
Bao cao detai
Bao cao detaiBao cao detai
Bao cao detai
 
Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)Bai tap lap trinh mang(1)
Bai tap lap trinh mang(1)
 
Hoc sql server 2000
Hoc sql server 2000Hoc sql server 2000
Hoc sql server 2000
 
Dos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.comDos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.com
 

More from truong le hung

các bước hack server
các bước hack servercác bước hack server
các bước hack servertruong le hung
 
lập trình di động
lập trình di độnglập trình di động
lập trình di độngtruong le hung
 
bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)truong le hung
 
04 chuong 4 - sap xep, tim kiem, loc du lieu
04   chuong 4 - sap xep, tim kiem, loc du lieu04   chuong 4 - sap xep, tim kiem, loc du lieu
04 chuong 4 - sap xep, tim kiem, loc du lieutruong le hung
 
04 chuong 4 - databinding
04   chuong 4 - databinding04   chuong 4 - databinding
04 chuong 4 - databindingtruong le hung
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieutruong le hung
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieutruong le hung
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data setstruong le hung
 
02 chuong 2 - lay du lieu theo cach connected
02   chuong 2 - lay du lieu theo cach connected02   chuong 2 - lay du lieu theo cach connected
02 chuong 2 - lay du lieu theo cach connectedtruong le hung
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdltruong le hung
 

More from truong le hung (12)

các bước hack server
các bước hack servercác bước hack server
các bước hack server
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
lập trình di động
lập trình di độnglập trình di động
lập trình di động
 
Lập trình android
Lập trình androidLập trình android
Lập trình android
 
bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)bài giảng phân tích thiết kệ thống thông tin (hutech)
bài giảng phân tích thiết kệ thống thông tin (hutech)
 
04 chuong 4 - sap xep, tim kiem, loc du lieu
04   chuong 4 - sap xep, tim kiem, loc du lieu04   chuong 4 - sap xep, tim kiem, loc du lieu
04 chuong 4 - sap xep, tim kiem, loc du lieu
 
04 chuong 4 - databinding
04   chuong 4 - databinding04   chuong 4 - databinding
04 chuong 4 - databinding
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieu
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieu
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data sets
 
02 chuong 2 - lay du lieu theo cach connected
02   chuong 2 - lay du lieu theo cach connected02   chuong 2 - lay du lieu theo cach connected
02 chuong 2 - lay du lieu theo cach connected
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
 

Recently uploaded

Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 

Tao mot ket noi toi co so du lieu dung c#

  • 1. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 1 of 8 Dưới đây là tổng quan về cách kết nối tới cơ sở dữ liệu MS SQL Server 2005. Như ở kì trước các bạn đã biết về các lớp cung cấp kết nối tới dữ liệu (Data Connection Provider Classes), tất cả đều sử dụng System.Data.IdbConnection interface cho ứng dụng. Dưới đây là bảng tổng hợp lại các „data provider‟ được cung cấp bởi Microsoft : 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 CE System.Data.SqlServerCe SqlCeConnection Bây giờ hãy thử ứng dụng vào tạo một kết nối tới Microsoft SQL Server 2005 (bạn phải setup cái này vào mấy trước đó) dùng lớp „SqlConnection‟. Dưới đây là một ví dụ kết nối tới database qua máy chủ SQL Server 2005. [code] using System; using System.Data; using System.Data.SqlClient; public class KetNoiSQLServer { public static void Main() { // Tạo connection string để kết nối string connectionString = @"Server = .SQLEXPRESS;" + "Integrated Security = true"; // Tạo một connection tới máy chủ SqlConnection conn = new SqlConnection(connectionString); // QUA TRINH KET NOI try { // Mở kết nối conn.Open(); Console.WriteLine("Connection opened !"); } catch (SqlException sqle) { // Thông báo biến cố khi kết nối Console.WriteLine("Error: " + sqle.Message); } finally { // Đóng kết nối conn.Close(); Console.WriteLine("Connection closed !"); } }
  • 2. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 2 of 8 } [/code] Phân tích đoạn code trên một chút : _Phần đầu code ta khai báo tên miền và các lớp cần sử dụng để kết nối, ở đây ta dùng lớp „SqlConnection‟ để kết nối cho nên dùng tên miền „System.Data.SqlConnection‟. _Sau đó tạo một chuỗi chứa thông tin tham số truyền khi kết nối, nôm na thì hiểu là thông tin kết nối tới máy chủ. Giải thích ngắn gọn về chuỗi kết nối này [code] // Tạo connection string để kết nối string connectionString = @"Server = .SQLEXPRESS;" + "Integrated Security = true"; [/code] Với : Server = .SQLEXPRESS; là tên server mà ta cần kết nối tới, ở đây mặc định sau khi cài Microsoft SQL Server 2005 Express thì default thường là SQLEXPRESS. Còn kí hiệu ở trước “ . “ thực chất là gọi tên máy chứa cơ sở dữ liệu cần kết nối. Thông thường nếu bạn làm việc offline thì mặc định là „localhost‟. Hai kí hiệu : “ . “ và “(local)” là tương đương nhau. Vì thế ở đoạn code trên bạn có thể viết lại khai báo server là : @“Server = (local)SQLEXPRESS” Với : Integrated Security = true đây là chỉ định cách kết nối tới cơ sở dữ liệu, ở đây trên máy của tớ thì để Windows Authentication cho nên tham số „Integrated Security‟ mang giá trị „True‟ như trên khi kết nối, nếu bạn không dùng Windows Authentication thì bạn phải cung cấp Username | Password đăng nhập vào hệ cơ sở dữ liệu. Còn nhiều tham số trong chuỗi kết nối ( connection string ) khác nhưng sẽ đề cập sau chi tiết hơn về thông tin kết nối. _Sau đó tạo một đối tượng chứa thông tin kết nối ( thông tin này nằm trong chuỗi kết nối connection string ) : [code] // Tạo một connection tới máy chủ SqlConnection conn = new SqlConnection(connectionString); [/code] _Vậy là bạn đã có một đối tượng chứa thông tin kết nối đầy đủ. Việc tiếp theo là „THỬ” kết nối tới cơ sở dữ liệu xem thế nào. _Yêu cầu đối tượng mở kết nối tớ cơ sở dữ liệu. [code] try {
  • 3. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 3 of 8 // Mở kết nối conn.Open(); Console.WriteLine("Connection opened !"); } [/code] _Nếu như trong trường hợp kết nối mà có lỗi thì kết nối tự động ngắt đi và dừng chương trình. Nếu như ta không dùng cặp quan hệ „ try…catch…finally „ để kiểm tra kết nối thì nếu gặp lỗi thì sẽ có thông báo lỗi và ta không biết được lỗi gì khi kết nối vì vậy ở đây lỗi bắt được bị ném vào trong „catch‟ và in ra lỗi bắt được ( lỗi bắt được luôn được ghi ở chế độ Debug nếu như bạn RUN chương trình ở Debug mode chứ không phải là Release mode ). [code] catch (SqlException sqle) { // Thông báo biến cố khi kết nối Console.WriteLine("Error: " + sqle.Message); } [/code] Lớp „SqlException‟ là lớp chứa thông tin về các lỗi bắt trong quá trình kết nối tới hệ cơ sở dữ liệu SQL Server. Bạn có thể xem thông tin chi tiết hơn về các Exception của SQL trong trang chủ MSDN. _Cuối cùng khi kết nối thành công và không gặp trở ngại gì thì ta tiến hành công việc trong thẻ finally. Ở đây là đóng kết nối. [code] finally { // Đóng kết nối conn.Close(); Console.WriteLine("Connection closed !"); } [/code] _Chương trình tưởng chừng đơn giản đọc rất dễ hiểu nhưng nếu bạn có kiến thức sâu hơn về kết nỗi và tương quan server/client sẽ thấy một số vấn đề ở đây. Tớ đưa ra một số vấn đề mà tớ đã gặp : + Giả sử kết nối bị lỗi không thực hiện được thì kết quả ra màn hình chỉ có thông báo lỗi thôi đùng không ? . Trả lới : Sai ! Có cả thông báo đóng kết nối nữa. Lý do : vì thẻ „finally‟ dùng để đưa ra thao tác cuối cùng của công việc cho nên sau khi thông báo lỗi xong nó sẽ nhảy tiếp tục thẻ „finally‟. + Nếu mà kết nối thế này có bị hao tổn tài nguyên máy không? Trả lời : Có ! Tốn cả 2 bên server và client. Nếu mà càng nhiều kết nối thực hiện thì hao tổn càng nhiều và làm chậm server rất nhiều và nhiều lúc quá giới hạn cho phép sẽ không thể thực hiện được kết nối nữa. Vì vậy sau khi mở kết nối thành công và hoàn thành quá trình xử lý thông tin thì phải đóng kết nối ngay.
  • 4. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 4 of 8 + Làm cách nào đảm bảo đóng/mở kết nối đúng quy cách tránh ảnh hưởng nhiều 2 bên server và client ? Trả lời : Bạn có thể đóng và mở kết nối ngay trong khi „ try „ và cuối cùng đóng thêm một kết nối tại thẻ „finally‟. Bạn có thể tham khảo code mẫu dưới đây : Code minh họa đóng/ mở kết nối an toàn : [code] // QUA TRINH KET NOI try { // Mở kết nối conn.Open(); Console.WriteLine("Connection opened !"); // // Xử lý công việc online // // Đóng kết nối conn.Close(); // // Xử lý công việc offline // // Mở kết nối lần nứa conn.Open(); // // Xử lý công việc online // // Đóng lại kết nối conn.Close(); } catch (SqlException sqle) { // Thông báo biến cố khi kết nối Console.WriteLine("Error: " + sqle.Message); } finally { // Đóng kết nối conn.Close(); Console.WriteLine("Connection closed !"); } [/code] Nếu như khi kết nối mà SQL Server không xài chế độ Windows Authentication mà có username | password riêng để truy cập (access) cơ sở dữ liệu (database) thì trong chuỗi kết nối ( connection string ) bạn phải cung cấp username | password cho thông tin kết nối. Dưới đây là một ví dụ dùng username | password để kết nối : [code]
  • 5. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 5 of 8 string connectionString = @"Server = .SQLEXPRESS; " + "User ID = sa; " + "Password = pete_87"; [/code] Ở đây : „sa‟ là tên mặc định cho system administrator và „password‟ là tớ đặt. Thông số này tùy thuộc vào thông số máy chủ được cài đặt. Bạn có thể có system admin và không xài password. Lúc này password sẽ được mặc định (default) là chuỗi rỗng (empty string) cho nên trong chuỗi kết nối bạn có thể để tham số là : Password =; Nhưng đây không phải một code tốt ^&^. Dưới đây là bảng các tham số truyền trong chuỗi kết nối, cung cấp thông tin khi kết nối tới máy chủ. Name Alias Default Value Allowed Value Description Application Name .NET SqlClient Data Provider Any string Name of Application AttachDBFileName Extended properties, initial file name None Any path Full path of attachable database file Connect timeout Connection Timeout 15 0-32767 Seconds to wait to connect Data Source Server,Address, Network Address None Servername or network address Name of the target SQL Server instance Encrypt False True,false, Yes,no Use SSL encryption Initial Catalog Database None Any database that exists on server Database name Integrated security Trusted_connection False True,false,yes,no,sspi Authentication mode Network library Net Dbmssocn Dbnmpntw, Dbmsrpcn, Dbmsadsn, Dbmsgnet, Dbmslpcn, Dbmslpcn, Dbmsspxn, Dbmssocn Network.dll Packet Size 8192 Multiple of 512 Network packet size in bytes Password PWD None Any string Password if not using win authen Persist Security Info False True, false, yes, no Sensitive info should be passed back after connecting User ID UID None Username if not
  • 6. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 6 of 8 using win authen Workstation ID Local Computer Name Anystring Workstation connecting to SQL Server Ví dụ một vài tham số kết nối : Data Source = .SQLEXPRESS Server = .SQLEXPRESS Address = .SQLEXPRESS Addr = .SQLEXPRESS Network Address = .SQLEXPRESS Chú ý là : như đã nói ở trên : .SQLEXPRESS tương đương với (local)EXPRESS Thử áp dụng vào viết một ứng dụng Console báo cáo thông tin về kết nối. Kết nối tới SQL Server dùng SqlConnection Dùng code mẫu sau : [code] using System; using System.Data; using System.Data.SqlClient; public class ThongTinKetNoi { static void Main() { // Connection string string connString = @"Server = .SQLEXPRESS; " + "Integrated Security = SSPI"; // Create connection SqlConnection conn = new SqlConnection(connString); try { // Open connection conn.Open(); Console.WriteLine("Connection opened."); // Display connection properties Console.WriteLine("Connection Properties:"); Console.WriteLine("tConnection String: {0}",conn.ConnectionString); Console.WriteLine("tDatabase: {0}",conn.Database); Console.WriteLine("tDataSource: {0}",conn.DataSource);
  • 7. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 7 of 8 Console.WriteLine("tServerVersion: {0}",conn.ServerVersion); Console.WriteLine("tState: {0}",conn.State); Console.WriteLine("tWorkstationId: {0}",conn.WorkstationId); } catch (SqlException e) { // Display error Console.WriteLine("Error: " + e); } finally { // Close connection conn.Close(); Console.WriteLine("Connection closed."); } } } [/code] Đọc qua code bạn có thể hiểu code dùng như thế nào. Ở đây mình ghi chú thêm một vài điều _Nếu khi kết nối bạn không chỉ rõ là kết nối tới database nào thì mặc định database sẽ là : master _Nếu muốn thay đổi database kết nối thì bạn thêm tham số „Database = db_name;‟ vào trong chuỗi kết nối. _Nếu bạn đưa vào một database_name không tồn tại trong server thì sẽ gặp thông báo lỗi : “System.Data.SqlClient.SqlException : Cannot open database „db_name‟ requested by the login. The login failed.” _Workstation chỉ định tên của máy mà làm việc với máy chủ database cho nên mỗi máy kết nối tới sẽ thu kết quả là tên của máy. Nếu mà bạn muốn tất cả các máy kết nối tới máy chủ SQL có một Workstation ID giống nhau thì trong chuỗi kết nối (connection string) bạn thêm tham số cho Workstation ID. Ví dụ : Workstation ID = Vo Danh Tieu Tot; Kết nối tới SQL Server dùng OleDbConnection Bạn nên đọc bài : ADO.NET cơ bản do tớ viết trước rồi tham khảo ở đây cũng được. Như đã viết ở đầu bài, khi kết nối ta có thể luân chuyển giữa các nhà cung cấp kết nối để kết nối tới cơ sở dữ liệu. Ví dụ ở trên là kết nối tới SQL Server dùng lớp „SqlConnection‟. Phần này tương tự sẽ dùng lớp OleDbConnection để kết nối tới SQL Server. [code] using System; using System.Data; using System.Data.OleDb;
  • 8. Tạo kết nối tới cơ sở dữ liệu Author : Xcross87 2007 Page 8 of 8 public class KetNoiDungOleDbConnection { static void Main() { // Connection string string connString = @"Provider = SqlOleDb; Data Source = .SQLEXPRESS; Integrated Security = SSPI"; // Create connection OleDbConnection conn = new OleDbConnection(connString); try { // Open connection conn.Open(); Console.WriteLine("Connection opened."); // Display connection properties Console.WriteLine("Connection Properties:"); Console.WriteLine("tConnection String: {0}",conn.ConnectionString); Console.WriteLine("tDatabase: {0}",conn.Database); Console.WriteLine("tDataSource: {0}",conn.DataSource); Console.WriteLine("tServerVersion: {0}",conn.ServerVersion); Console.WriteLine("tState: {0}",conn.State); } catch (OleDbException e) { // Display error Console.WriteLine("Error: " + e); } finally { // Close connection conn.Close(); Console.WriteLine("Connection closed."); } } } [/code] Kết nối tới cơ sở dữ liệu không khó và phức tạp nhưng đòi hỏi kĩ năng và biết cách vận dụng khi kết nối một cách hợp lý, tránh hao tổn tài nguyên máy. Kết thúc bài về „tạo kết nối tới cơ sở dữ liệu