• .NET使用DAO.NET实体类模型操作数据库


    一、新建项目

    打开vs2017,新建一个项目,命名为orm1

     

    二、新建数据库

    打开 SqlServer数据库,新建数据库 orm1,并新建表 student 。

    三、新建 ADO.NET 实体数据模型

    这里点击 新建连接,新建数据库连接。其实服务器名输入 . 代表本地服务器,身份验证选择默认的Windows身份认证。

    选择我们的创建好的数据库 orm1 。 

     

     

     记住这里的连接名 orm1Entities ,后面写代码需要用到。

     这里记得勾选表

     点击完成就OK了,有可能会弹出下面的警告,点确定就好了。

     最后出现下面这个视图,至此,创建 DAO.NET 实体类型模型成功。

     

    现在点 VS 上面的生成,点重新生成项目。成功后控制台输入:

    四、新建 aspx 文件

    新建 aspx 文件 webform1.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="orm1.WebForm1" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                学号:<asp:TextBox ID="sid" runat="server"></asp:TextBox>
            </div>
             <div>
                姓名:<asp:TextBox ID="sname" runat="server"></asp:TextBox>
            </div>
             <div>
                年龄:<asp:TextBox ID="sage" runat="server"></asp:TextBox>
            </div>
            <div>
                <asp:Button ID="Add" runat="server" Text="新增" OnClick="Add_Click" />
                <asp:Button ID="Select" runat="server" Text="查询" OnClick="Select_Click" />
                <asp:Button ID="Delete" runat="server" Text="删除" OnClick="Delete_Click" />
                <asp:Button ID="Update" runat="server" Text="修改" OnClick="Update_Click" />
            </div>
    
            <div>
                <asp:GridView ID="GridView1" runat="server"></asp:GridView>
            </div>
        </form>
    </body>
    </html>

     那么,现在我们就可以在 cs 文件写利用 Dao.NET 的实体类型模型操作数据库的代码了。

    1. 显示所有

            void ShowAll()
            {
                var db = new orm1Entities();
                GridView1.DataSource = db.Student.ToList();
                GridView1.DataBind();
            }

    还记得 orm1Entities 吗?在新建实体类模型的时候是不是见过?

    2. 查找数据

            protected void Select_Click(object sender, EventArgs e)
            {
                var db = new orm1Entities();
                var item = db.Student.Where(M => M.sid == sid.Text).ToList();
                GridView1.DataSource = item;
                GridView1.DataBind();
            }

    其中,where中的M是任意字符。

    3. 新增数据

            protected void Add_Click(object sender, EventArgs e)
            {
                var db = new orm1Entities();
                var item = new Student
                {
                    sid = sid.Text,
                    sname = sname.Text,
                    sage = int.Parse(sage.Text)
                };
                db.Student.Add(item);
                db.SaveChanges();
                ShowAll();
            }

    4. 删除数据

            protected void Delete_Click(object sender, EventArgs e)
            {
                var db = new orm1Entities();
                var item = db.Student.Where(M => M.sid == sid.Text).FirstOrDefault();
                if (item != null)
                {
                    db.Student.Remove(item);
                    db.SaveChanges();
                    ShowAll();
                }
                else
                {
                    Response.Write("没有此用户");
                }
    
            }

     5. 修改数据

            protected void Update_Click(object sender, EventArgs e)
            {
                var db = new orm1Entities();
                var item =  db.Student.Where(M => M.sid == sid.Text).FirstOrDefault();
                if (item != null)
                {
                    item.sname = sname.Text;
                    item.sage = int.Parse(sage.Text);
                    db.SaveChanges();
                    ShowAll();
                }
                else
                {
                    Response.Write("没有此用户");
                }
            }
  • 相关阅读:
    条款41:了解隐式接口和编译期多态
    条款41:了解隐式接口和编译期多态
    虚机制
    条款31:将文件间的编译依存关系降至最低
    条款30:透彻了解inlining的里里外外
    条款28:避免返回handles 指向对象内部成分
    条款27:尽量少做转型动作
    条款26:尽可能延后变量定义式的出现时间
    条款25: 考虑写出一个不抛异常的swap函数
    APP测试工程师面试题:之一
  • 原文地址:https://www.cnblogs.com/dichuan/p/8178869.html
Copyright © 2020-2023  润新知