1. 程式人生 > >Linq基礎增刪改查

Linq基礎增刪改查

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基礎增刪改查