要點(diǎn):
1、使用LINQ查詢SQL Server數(shù)據(jù)庫
2、使用LINQ管理SQL Server數(shù)據(jù)庫
一 使用LINQ查詢SQL Server數(shù)據(jù)庫(1)
使用LINQ查詢SQL數(shù)據(jù)庫時(shí),首先需要?jiǎng)?chuàng)建LinqToSql類文件。
linqtosqlClassDataContext linq; //聲明Linq連接對(duì)象
linq = new linqtosqlClassDataContext(strCon); //創(chuàng)建Linq連接對(duì)象
//獲取所有員工信息
? ? ? ?var result = from info in linq.tb_Employee
? ? ? ? ? ? ? ? ? ? select new
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? 員工編號(hào) = info.ID,
? ? ? ? ? ? ? ? ? ? ? ? 員工姓名 = info.Name,
? ? ? ? ? ? ? ? ? ? ? ? 性別 = info.Sex,
? ? ? ? ? ? ? ? ? ? ? ? 年齡 = info.Age,
? ? ? ? ? ? ? ? ? ? ? ? 電話 = info.Tel,
? ? ? ? ? ? ? ? ? ? ? ? 地址 = info.Address,
? ? ? ? ? ? ? ? ? ? ? ? QQ = info.QQ,
? ? ? ? ? ? ? ? ? ? ? ? Email = info.Email
? ? ? ? ? ? ? ? ? ? };
? ? ? ?dgvInfo.DataSource = result; //對(duì)DataGridView控件進(jìn)行數(shù)據(jù)綁定
二 使用LINQ管理SQL Server數(shù)據(jù)庫(2)
1 添加數(shù)據(jù)
使用LINQ向SQL Server數(shù)據(jù)庫中添加數(shù)據(jù)時(shí),需要用到InsertOnSubmit方法和SubmitChanges方法。其中,InsertOnSubmit方法用來將處于pending insert狀態(tài)的實(shí)體添加到SQL數(shù)據(jù)表中。其語法格式如下:
void InsertOnSubmit(Object entity)
其中,entity表示要添加的實(shí)體。
SubmitChanges方法用來記錄要插入、更新或刪除的對(duì)象,并執(zhí)行相應(yīng)命令以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的更改。其語法格式如下:
public void SubmitChanges()
linqtosqlClassDataContext linq; //聲明Linq連接對(duì)象
? linq = new linqtosqlClassDataContext(strCon); //創(chuàng)建Linq連接對(duì)象
? tb_Employee employee = new tb_Employee(); //創(chuàng)建tb_Employee類對(duì)象
? ?//為tb_Employee類中的員工實(shí)體賦值
? ?employee.ID = txtID.Text;
? ?employee.Name = txtName.Text;
? ?employee.Sex = cboxSex.Text;
? ?employee.Age = Convert.ToInt32(txtAge.Text);
? ?employee.Tel = txtTel.Text;
? ?employee.Address = txtAddress.Text;
? ?employee.QQ = Convert.ToInt32(txtQQ.Text);
? ?employee.Email = txtEmail.Text;
? ?linq.tb_Employee.InsertOnSubmit(employee); //添加員工信息
? ?linq.SubmitChanges(); //提交操作
2 修改數(shù)據(jù)
使用LINQ修改SQL Server數(shù)據(jù)庫中的數(shù)據(jù)時(shí),需要用到SubmitChanges方法。
linqtosqlClassDataContext linq; //聲明Linq連接對(duì)象
linq = new linqtosqlClassDataContext(strCon); //創(chuàng)建Linq連接對(duì)象
//查找要修改的員工信息
? ?var result = from employee in linq.tb_Employee
? ? ? ? ? ? ? ? where employee.ID == txtID.Text
? ? ? ? ? ? ? ? select employee;
? ?//對(duì)指定的員工信息進(jìn)行修改
? ?foreach (tb_Employee tbemployee in result)
? ?{
? ? ? ?tbemployee.Name = txtName.Text;
? ? ? ?tbemployee.Sex = cboxSex.Text;
? ? ? ?tbemployee.Age = Convert.ToInt32(txtAge.Text);
? ? ? ?tbemployee.Tel = txtTel.Text;
? ? ? ?tbemployee.Address = txtAddress.Text;
? ? ? ?tbemployee.QQ = Convert.ToInt32(txtQQ.Text);
? ? ? ?tbemployee.Email = txtEmail.Text;
? ? ? ?linq.SubmitChanges();
? ?}
3 刪除數(shù)據(jù)
使用LINQ刪除SQL Server數(shù)據(jù)庫中的數(shù)據(jù)時(shí),需要用到DeleteAllOnSubmit方法和SubmitChanges方法。其中SubmitChanges方法在“添加數(shù)據(jù)”中已經(jīng)作過詳細(xì)介紹,這里主要講解DeleteAllOnSubmit方法。
DeleteAllOnSubmit方法用來將集合中的所有實(shí)體置于pending delete狀態(tài),其語法格式如下。
void DeleteAllOnSubmit(IEnumerable entities)
其中,entities表示要移除所有項(xiàng)的集合。
linqtosqlClassDataContext linq; //聲明Linq連接對(duì)象
linq = new linqtosqlClassDataContext(strCon); //創(chuàng)建Linq連接對(duì)象
//查找要?jiǎng)h除的員工信息
? ?var result = from employee in linq.tb_Employee
? ? ? ? ? ? ? ? where employee.ID == strID
? ? ? ? ? ? ? ? select employee;
? ?linq.tb_Employee.DeleteAllOnSubmit(result); //刪除員工信息
? ?linq.SubmitChanges(); //創(chuàng)建LINQ連接對(duì)象提交操作
該文章在 2024/10/11 9:37:23 編輯過