C# 自製連線dll
在使用過Entity Framework 後
用的速度很明顯感覺較慢
另外的做法是可以自製一個DLL
納入主程式作參考,這樣一來需要什麼方法
就直接呼叫該參考即可
好處是比較快,而且還可以客製化
用的速度很明顯感覺較慢
另外的做法是可以自製一個DLL
納入主程式作參考,這樣一來需要什麼方法
就直接呼叫該參考即可
好處是比較快,而且還可以客製化
自製dll程式碼:(注意:要建置)
public class NWDB { SqlConnection conn; public NWDB() { conn = new SqlConnection(@"server=localhost;database=中文北風;UID=SQLUser;PWD=1234"); } public NWDB(string Account, string Password) { SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(); scsb.DataSource = "localhost"; scsb.InitialCatalog = "中文北風"; scsb.UserID = Account; scsb.Password = Password; scsb.IntegratedSecurity = false; conn = new SqlConnection(scsb.ConnectionString); } public DataTable Customers() { SqlCommand cmd = new SqlCommand("SELECT 客戶編號,公司名稱,連絡人,連絡人職稱,地址 FROM 客戶", conn); conn.Open(); SqlDataReader mydr = cmd.ExecuteReader(); DataTable tt =new DataTable(); tt.Load(mydr); mydr.Close(); cmd.Dispose(); conn.Close(); return tt; } public bool CustomerInsert(string Id,string Name,string Contact,string ContactJob,string Address) { SqlCommand cmd = new SqlCommand("INSERT INTO 客戶(客戶編號,公司名稱,連絡人,連絡人職稱,地址) VALUES(@Id,@Name,@Contact,@ContactJob,@Address)", conn); cmd.Parameters.Add("@Id", SqlDbType.NVarChar).Value = Id; cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = Name; cmd.Parameters.Add("@Contact", SqlDbType.NVarChar).Value = Contact; cmd.Parameters.Add("@ContactJob", SqlDbType.NVarChar).Value = ContactJob; cmd.Parameters.Add("@Address", SqlDbType.NVarChar).Value = Address; conn.Open(); int i = cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); if (i > 0) return true; else return false; } }
在主程式中呼叫:(注意:要納入參考)
private void button6_Click(object sender, EventArgs e) { NWDB.NWDB mydb = new NWDB.NWDB(); dataGridView1.DataSource = mydb.Customers(); } private void button7_Click(object sender, EventArgs e) { NWDB.NWDB mydb = new NWDB.NWDB("SQLAdmin", "1234"); bool ans = mydb.CustomerInsert("ZZZZZ", "賺錢好難公司", "王小明", "總裁", "桃園市龜龜路100號"); if (ans) MessageBox.Show("新增成功"); else MessageBox.Show("新增失敗"); }
留言
張貼留言