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