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:
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.
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.
0 comments:
Post a Comment