Cách cấu hình kết nối SqlServer khi mang ứng dụng sang máy khác

Hôm nay, mình sẽ hướng dẫn các bạn cách tạo kết nối Sql Server cho ứng dụng của mình khi mang sang máy khác sử dụng mà mất thông số kết nối.

- Đầu tiên, bạn tạo 1 file text chứa thông tin kết nối, file text đó có nội dung như sau:

Server:
Database:
UserName:
Password:

Các giá trị ban đầu để trống. Mình đặt tên file là ConnectString.con

- Tiếp theo, bạn tạo 1 class tên là Helper.cs với nội dung như sau:


using System.Data.SqlClient;
using System.IO;

namespace iloveit1208_ConnectSQLServer
{
class Helper
{
public string Server{ get; set; }
public string Database { get; set; }
public string UserName { get; set; }
public string Password { get; set; }

public Helper()
{
StreamReader reader=new StreamReader("ConnectString.con");
this.Server = reader.ReadLine().Split(':')[1];
this.Database = reader.ReadLine().Split(':')[1];
this.UserName = reader.ReadLine().Split(':')[1];
this.Password = reader.ReadLine().Split(':')[1];
reader.Close();
}
public SqlConnection GetConnect()
{
if (this.UserName!="")
return new SqlConnection("Data Source=" + this.Server + ";Initial Catalog=" + this.Database + ";User Id=" + this.UserName + ";Password=" + this.Password + ";");
else
return new SqlConnection("Data Source=" + this.Server + ";Initial Catalog=" + this.Database + ";Integrated Security=True");
}
public static void WriteFile(string server,string data,string uid,string pass)
{
StreamWriter writer = new StreamWriter("ConnectString.con");
writer.WriteLine("Server:"+server);
writer.WriteLine("Database:"+data);
writer.WriteLine("UserName:" + uid);
writer.WriteLine("PassWord:" + pass);
writer.Close();
}
}
}

Chức năng của class này là cung cấp các phương thức đọc và ghi vào file ConnectString.con

- Tiếp theo bạn tạo 1 form kết nối như hình sau:

1

Form này sẽ tự động hiện lên cho bạn cấu hình kết nối SqlServer khi mất kết nối (trường hợp chuyển sang máy khác).

Code cho từng nút bạn có thể xem ở Project đính kèm.

- Tạo 1 form chính cho chương trình, mình làm đơn giản chỉ có một nút kiểm tra kết nối.

2

Trong sự kiện formload, bạn phải kiểm tra xem kết nối tới máy chủ có thành công hay không, nếu thất bại thì formconnection sẽ được hiện lên để cấu hình lại kết nối.


private void Form1_Load(object sender, EventArgs e)
{
try
{
Helper h = new Helper();
SqlConnection con = h.GetConnect();
con.Open();
con.Close();
}
catch (Exception)
{
frmConnection f=new frmConnection();
f.ShowDialog();
}
}

Nguyên lý chỉ đơn giản vậy thôi, mình sẽ đính kèm project ở dưới nếu bạn không hiểu đoạn code này thì reply lại mình sẽ giải thích kĩ càng.

Link download Project: Download

Chúc các bạn thành công.

6 nhận xét:

Nặc danh nói...

public string Server{ get; set; }
public string Database { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
anh iloveit1208 ơi !
em làm giống anh mà nó cứ báo lỗi get; set;
anh giải thích giúp em với được không ah
cảm ơn anh

Nặc danh nói...

public string Server{ get; set; }
public string Database { get; set; }
public string UserName { get; set; }
public string Password { get; set; }

Do anh ấy dùng Visula Studio 2010 và .Net Framework 40 đó. Có thể do bạn dùng bản 3.5, nên không hỗ trợ...

Nặc danh nói...

Iloveit2008 cho em hỏi cái cái Authentication ấy là dùng cái comboBox đúng không sao mình không có những Item trong đó nhỉ.

Minhnhut nguyễn nói...

cái này hay nè, post thêm nhiều bài đi bạn

Nam Hoang nói...

bạn ơi sao mình làm giống bạn, mà cái doạn kiểm tra kết nối nó ko chạy bạn.

hanvan ly nói...

ban ui, cho minh cai sql cua SP_... di, store produce cua sql do..