C# Kết nối cơ sở dữ liệu SQL


Bài viết hướng dẫn kết nối CSDL SQL, thực hiện bằng ngôn ngữ C#, sử dụng công cụ SQL Server 2014 Management Studio và Visual Studio 2015. Hướng dẫn hỗ trợ bạn đọc đang học tập hoặc tìm hiểu về công nghệ .Net, bổ trợ kiến thức theo yêu cầu ở môn Nhập môn công nghệ phần mềm. Bài viết chỉ hướng dẫn kết nối đến cơ sở dữ liệu SQL, không hướng dẫn chi tiết các thao tác trên CSDL như Insert, Update, Delete, Login, Tạo bảng báo cáo… Do đó mình sẽ để một số link tham khảo cuối video, hy vọng bằng sự cố gắng và đam mê học hỏi, bạn sẽ hoàn thành yêu cầu môn học, hoặc phần kiến thức .Net này. Lưu ý, việc kết nối cơ sở dữ liệu theo hướng này, bạn sẽ không sử dụng được chương trình trên máy tính khác.

*TẠO DATABASE

– Mở và kết nối SQL Server 2014: Trong quá trình đăng nhập với tài khoản sa gặp sự cố không kết nối được, bạn hãy tham khảo tại Cannot connect to SQL hoặc để lại lời nhắn tại cuối trang blog.
csdl1

– Sau khi connect thành công, để tạo nhanh Database ta sẽ dùng công cụ có sẵn (không viết script tạo Database, tạo bảng). Chuột phải vào Database -> New Database… , đặt tên  cho Database , OK,

csdl2

– Tạo table chứa dữ liệu: Sổ danh sách trong Database vừa tạo, chuột phải vào Tables –> Table…, Xuất hiện table, bạn điền thuộc tính cần tạo. Ở đây mình sẽ lấy ví dụ về thông tin sinh viên.

csdl3

– Đặt khóa chính cho trường “id”: Chuột phải vào dòng “id” chọn Set Primary Key
csdl4
– Để “id” tự tăng 1 đơn vị (hoặc n đơn vị), bạn sẽ không cần Insert “id” trong chương trình: Chọn dòng “id”, nhìn vào cửa sổ “Column Properties” và sửa như hình (tùy vào bạn muốn “id” sau mỗi lần tăng bao nhiêu bạn sẽ đặt Identity Increment = 1 hoặc 2,… hoặc n)
csdl5– Save lại (Ctrl+Shift+S) và đặt tên cho table vừa tạo.
csdl6
Vậy là ta có được csdl cơ bản, tùy vào chương trình, mục đích sử dụng bạn sẽ tạo các bảng khác nhau, thuộc tính khác nhau,…
À, trong lúc làm việc, cần chỉnh sửa Table dữ liệu, mặc định SQL Server không cho phép sửa mà bắt buộc bạn tạo bảng khác hoặc lưu dưới dạng file sql. Lấy ví dụ, bạn quên đặt thuộc tính khóa chính cho trường “id”, nhưng bạn lỡ save lại bảng, lúc mở lại và đặt thuộc tính khóa và save lại không được.

Để giải quyết vấn đề này: Chọn Tools –> Options –> Designers –> Tables and Database Designer. Tại Table Options, bỏ check dòng Prevent saving changes that require table re-creation .
csdl7

Như vậy, bạn đã có thể Edit table khi cần thiết mọi lúc.

*Kết nối CSDL đã tạo qua ứng dụng winform C#

– Mở Visual Studio: Chọn FILE –> New –> Project. Chọn Visual C# –> Windows Forms Application. Điền thông tin đầy đủ (Name, Location,Solution,Solution name) –> OK
– “Form1” là form mặc định cho trước, giả dụ, đây là form Login, khi nhấp vào nút Login thì ta thực hiện mở kết nối tới cơ sở dữ liệu và thực hiện một số hành động sau đó như so sánh giá trị vừa nhập có khớp với tài khoản trong database hay không, nếu không thì hiện thông báo hoặc dẫn người dùng tới trang tạo tài khoản, nếu khớp thì chuyển đến Main page. Nhưng, như đã nói, bài viết chỉ gói gọn cho bạn bước tạo kết nối đến Database khi button Login được nhấp vào.

– Tại Solution Explorer –> Chuột phải “Form1.cs” –> Chọn View Code (F7)
– Add thư viện

using System.Data.SqlClient;

– Trên thanh menu: Chọn VIEW–> Server Explorer –> Connect to Database
csdl8

– Cửa sổ Add Connection xuất hiện: Điền thông tin như hình – Chọn Server name, chọn database cần kết nối, phần Log on to the server bạn có thể tùy chỉnh. Nhập button Advanced… Tại phần Source, chọn Data Source, copy chuỗi kết nối vào chỗ nào đó, để dùng sau.
csdl9
Sau đó Cancel hết các cửa sổ nãy giờ và thực hiện tiếp các code sau:

 
 public partial class Form1 : Form
 {
 private SqlConnection con;
 private DataTable dt = new DataTable("tbNhanVien");
 // private DataTable dt = new DataTable();
 private SqlDataAdapter da = new SqlDataAdapter();

 private void connect()
 { // Copy Data Source vào chuỗi
 String cn = @"Data Source=DELL-FAMI\SQLEXPRESS;Initial Catalog=DEMOBLOG;Integrated Security=True";
 try
 {
 con = new SqlConnection(cn);
 con.Open(); 
 MessageBox.Show("Kết nối thành công", "Ahihi", MessageBoxButtons.OK, MessageBoxIcon.Information);</pre>
 
 }
 catch (Exception ex)
 {
 MessageBox.Show("Không Kết nối tới CSDL", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
 }


 }

 private void disconnect()   // gọi hàm này sau khi đã dùng xong csdl 
 {
 con.Close();
 con.Dispose();
 con = null;
 }
}

Tới đây, bạn build project và xem kết quả. Để hoàn thiện chương trình quản lý khách sạn, nhà sách, nhà hàng,… bạn cần tự tìm hiểu thêm các tài liệu khác. Cuối bài mình có chia sẻ một vài nguồn tài liệu.


https://www.youtube.com/channel/UCATBy9FrnbSy2WnvJs-2ffQ
https://www.youtube.com/watch?v=CxFlwfZQv1Y&list=PLlHOA04M693hK2y0o1uqC5kdkbu9mzVMz&index=2
https://www.youtube.com/watch?v=XYVQbfejRbY&index=12&list=PLIa8QYF9JCsaQI-VA04ZNgDHSfvkJs3oD
https://www.youtube.com/watch?v=Mm43_e4it-8
https://www.youtube.com/watch?v=1KPTTwKxNtM
https://www.youtube.com/watch?v=x3FzPJ2v9Cw&index=1&list=PLlY0UNqGpTmdJZ6dPyVH5hjIVY1xJsox_
 

https://khoaba.wordpress.com/2010/09/06/stored-procedure/ 
http://xuanpdu.com/stored-procedure-trong-sql-server/ 
http://stackoverflow.com/questions/360141/how-to-connect-to-local-instance-of-sql-server-2008-express 
http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio?lang=1033&ver=ult 

https://www.youtube.com/watch?v=ZLfeTnIbzaI
https://www.youtube.com/watch?v=EV31nWqyCMg
https://www.youtube.com/watch?v=OhMGzR3AwdM
https://www.youtube.com/watch?v=BUFGjV1FzZs

 

Kết thúc bài viết ở đây, Chúc bạn học tốt!

Advertisements

One thought on “C# Kết nối cơ sở dữ liệu SQL

  1. Pingback: LINQ | Sâu non tìm lá

Cho mình biết cảm nhận của bạn nhé

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s