Linq基礎增刪改查
阿新 • • 發佈:2017-06-05
alt 技術分享 .class select 匿名函數 write 數據庫連接 oca title
使用Linq時要註意一下問題:
1.創建Linq連接後生成的dbml文件不要變動,生成的表不要碰,拖動表也會造成數據庫連接發生變動,需要重新保存.
2.屬性拓展的使用:添加一個新的類,不要在dbml中添加屬性拓展,一旦數據庫變動,屬性拓展類就會失效.
3.使用Linq獲取的數據都是?int,?string等?數據類型,意思是也有可能為空,這時候操作數據需要先把數據類型轉化成int,string等數據類型.
在這裏操作數據庫用到了lambda表達式,是一種匿名函數,使用lambda表達式自動帶有防攻擊,不需要在使用parameter了.
什麽事lambda表達式:
Stu s = con.Stu.Where(r => r.Ids.ToString() == id).FirstOrDefault();一個lambda表達式
查詢數據庫中Ids==id的第一條數據
FirstOrDelault() 第一條或者[不存在,不執行,為空]
數據查詢:
建立LInq數據庫連接後,後臺編寫:
using ([Linq名稱]DataClassesDataContext con = new [Linq名稱]DataClassesDataContext())
{
con.表名.ToList();[獲取要查詢數據庫的數據,之後可以執行綁定數據]
}
例:
using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
{
DropDownList1.DataSource = con.Nation.ToList();
DropDownList1.DataTextField = "NationName";
DropDownList1.DataValueField = "NationCode";
DropDownList1.DataBind();
DropDownList2.DataSource = con.Class.ToList();
DropDownList2.DataTextField = "ClassName";
DropDownList2.DataValueField = "ClassCode";
DropDownList2.DataBind();
}
添加數據:
1.實例化數據變量
2.填充變量數據
3.創建連接
4.修改數據
例:
//實例化
Stu s = new Stu();
//填充數據
s.Name = TextBox2.Text;
s.Sex = RadioButtonList1.Items[0].Selected;
s.Birthday = Convert.ToDateTime(TextBox3.Text);
s.NationCode = DropDownList1.SelectedValue;
s.ClassCode = DropDownList2.SelectedValue;
s.Score = Convert.ToInt32(TextBox4.Text);
// 創建連接
using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
{//修改數據
con.Stu.InsertOnSubmit(s);
con.SubmitChanges();
}
修改數據:
1.先查到要修改的數據
2.修改這條數據
3.將修改好的數據傳到數據庫,完成修改
例:
string id = Request["id"];
using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
{
Stu s = con.Stu.Where(r => r.Ids.ToString() == id).FirstOrDefault();
if (s != null)
{
s.Name = TextBox2.Text;
s.Sex = RadioButtonList1.Items[0].Selected;
s.Birthday = Convert.ToDateTime(TextBox3.Text);
s.NationCode = DropDownList1.SelectedValue;
s.ClassCode = DropDownList2.SelectedValue;
s.Score = Convert.ToInt32(TextBox4.Text);
con.SubmitChanges();
}
}
數據刪除:
1.查到要刪除的數據
2.把要刪除的數據上傳數據庫,進行刪除
例:
string id = Request["id"];
using (StudentsDataClassesDataContext con = new StudentsDataClassesDataContext())
{
//根據主鍵值查詢出對應的這個對象
Stu s = con.Stu.Where(r => r.Ids.ToString() == id).FirstOrDefault();
if (s != null)
{
con.Stu.DeleteOnSubmit(s);
con.SubmitChanges();
Response.Write("<script>alert(‘刪除成功!‘);window.location.href=‘default.aspx‘;</script>");
}
else
{ Response.Write("<script>alert(‘刪除失敗!‘);window.location.href=‘default.aspx‘;</script>"); }
}
Linq基礎增刪改查