C#EntityFramework 对SQL数据库进行增删改查操作

使用EntityFramework访问数据库可以减少以前搭建三层架构书写代码的工作量,减轻开发的时间。

1.数据表的设计

2.创建项目以及使用EF数据模型

前面两个操作完成接下来就是代码部分

前端代码:



    
           
                                                                                                                                                                                                                                                                                                                                                                               
标题作者内容类型操作
<%# Eval("title") %><%# Eval("author") %><%# Eval("content") %><%# Eval("catrlogid") %>                         删除                         修改                    
       
       
           
           
           
             
                     
       
           
           
           
             
                     
         
       
   

前端代码生成界面:

C#EntityFramework 对SQL数据库进行增删改查操作_第1张图片

后端代码:

//Web窗体类后面的所有代码

MyDBEntities2 db = new MyDBEntities2();//引用实体模型,这里是连接建好以后筛选数据下面文本框得命名 数据库名+Entities(第一个),后面第二个就是Entities2 以此类推

// 是注释

        protected void Page_Load(object sender, EventArgs e)

        {

            //回发

            if (!IsPostBack)

            {

                Data();

                DropData();

            }

        }

        //数据显示

        public void Data()

        {

            //LINQ查询数据语句

            var data = from c in db.Catelog

                      join a in db.Article on c.id equals a.catrlogid

                      select new

                      {

                          id = a.id,

                          title = a.title,

                          author = a.author,

                          content = a.content,

                          catrlogid = c.name

                      };

            Repeater1.DataSource = data.ToList();//绑定数据源,ToList()把数据转换为 list集合

            Repeater1.DataBind();//显示绑定的数据

        }

        //下拉框数据

        public void DropData()

        {

            var dataDrop = from c in db.Catelog

                          select new

                          {

                              id = c.id,

                              name = c.name

                          }

                      ;

            DropDownList1.DataSource = dataDrop.ToList();//绑定数据源,ToList()把数据转换为 list集合

            DropDownList1.DataTextField = "name";//列表项可见部分文本

            DropDownList1.DataValueField = "id";//列表项的值部分

            DropDownList1.DataBind();//显示绑定的数据

        }

        protected void Button1_Click(object sender, EventArgs e)

        {

            if (TextBox1.Text == "" || TextBox2.Text == "" || TextBox3.Text == "")

            {

                Response.Write("");

                return;

            }

            else

            {

                var data = from a in db.Article

                          where a.title == TextBox1.Text

                          select a.title;

                foreach (var item in data)

                {

                    if (item == TextBox1.Text)

                    {

                        Response.Write("");

                        return;

                    }

                    else

                    {

                        break;

                    }

                }

                int cid = int.Parse(DropDownList1.SelectedValue);//获取到选定项的值  DropDownList1.DataValueField = "id";列表项的值部分

                Article ar = new Article(TextBox1.Text, TextBox2.Text, TextBox3.Text, cid);//创建对象保存需要添加到数据库的值

                db.Article.Add(ar);

                if (db.SaveChanges() > 0)

                {

                    Response.Write("");

                    TextBox1.Text = "";//清空文本框

                    TextBox2.Text = "";//清空文本框

                    TextBox3.Text = "";//清空文本框

                    Data();//调用数据显示方法重新显示

                    DropData();//调用下拉框数据方法

                }

            }

        }

        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)

        {

            if (e.CommandName == "del")

            {

                string title = e.CommandArgument.ToString();//获取删除所需标题,ID也可以

                db.Article.Remove(db.Article.FirstOrDefault(n => n.title == title));

                if (db.SaveChanges() > 0)

                {

                    Response.Write("");

                    Data();

                    DropData();

                }

            }

            if (e.CommandName == "update")

            {

                aid = int.Parse(e.CommandArgument.ToString());//获取修改所需ID

                HiddenField1.Value = aid.ToString();//给隐藏控件的赋值

                var data = from a in db.Article

                          where a.id == aid

                          select a;

                foreach (var item in data.ToList())

                {

                    TextBox4.Text = item.title;

                    TextBox5.Text = item.author;

                    TextBox6.Text = item.content;

                    int id = (int)item.catrlogid;

                    //DropDownList1.Text = item.catrlogid;

                    DropData(id);

                    DropDownList2.Items[id - 1].Selected = true;//选中传过来的下拉框类型名

                }

            }

        }

        public int aid;//全局变量接受修改作者ID

        public void DropData(int id)

        {

            var dataDrop = from c in db.Catelog

                          select new

                          {

                              newid = c.id,

                              name = c.name

                          };

            ;

            DropDownList2.DataSource = dataDrop.ToList();

            DropDownList2.DataTextField = "name";

            DropDownList2.DataValueField = "newid";

            DropDownList2.DataBind();

        }

        protected void Button2_Click(object sender, EventArgs e)

        {

            if (TextBox4.Text == "" || TextBox5.Text == "" || TextBox6.Text == "")

            {

                Response.Write("");

                return;

            }

            else

            {

                    if (HiddenField1.Value == "")

                    {

                        Response.Write("");

                        return;

                    }

                    else

                    {

                    int hidden = int.Parse(HiddenField1.Value);

                    var updateData = db.Article.FirstOrDefault(n => n.id == hidden);

                        updateData.title = TextBox4.Text;

                        updateData.author = TextBox5.Text;

                        updateData.content = TextBox6.Text;

                        updateData.catrlogid = int.Parse(DropDownList2.SelectedValue);

                        int count = db.SaveChanges();//入库返回值

                        if (count > 0)

                        {

                            Response.Write("");

                            TextBox4.Text = "";

                            TextBox5.Text = "";

                            TextBox6.Text = "";

                            Data();

                        }

                    }

            }

        }

后端功能:

所有数据显示

C#EntityFramework 对SQL数据库进行增删改查操作_第2张图片

删除

C#EntityFramework 对SQL数据库进行增删改查操作_第3张图片

删除后的数据

C#EntityFramework 对SQL数据库进行增删改查操作_第4张图片

添加和修改的输入完整

C#EntityFramework 对SQL数据库进行增删改查操作_第5张图片

添加标题相同提示

主要是查重

C#EntityFramework 对SQL数据库进行增删改查操作_第6张图片

 

没点修改会找不到用户

C#EntityFramework 对SQL数据库进行增删改查操作_第7张图片

 

第一次写博客,没经验,欢迎留言讨论。

联系QQ:2976258702  备明来意

你可能感兴趣的:(C#EntityFramework 对SQL数据库进行增删改查操作)