zoukankan      html  css  js  c++  java
  • ASP MVC 数据库 入门示例

        最近由于项目需要,要学习MVC Mysql ,做简单的表单的,展示,修改。自己想在网上找一些简单,入门的demo,费了好大劲,都没有找到合适的,基本都没有最新的例子。下面是我自己折腾的简单的入门级demo,比较适合初级者学习。我会尽量的详细的说清楚没个细节,便于新手上手。

    1,准备工作

    1.1 如果VS 没有安装MVC的,按照图示 新建项目

    1.2,下载数据库驱动http://www.mysql.com/products/connector/

    1.3 Mysql中建立数据库students表。

    1.开始工程

    2.1

    新建项目students

    2.2连接数据库

     

    数据已经添加成功,VS自带的代码生成器,已经生成数据库相对应的类的代码,本人觉得自带的代码生成器不好,就联机安装了

    代码生成如下:

    自动生成代码

    编译工程,我们可以在自己的代码中使用这些类。

     

     

    开始编码

    3.1 首先建立一个可以浏览整个student表的视图Index。

    视图的编码为:

    @model List<students.student>

     

    @{

        ViewBag.Title = "Index";

        Layout = "~/Views/Shared/_Layout.cshtml";

    }

     

    <h2>学生信息</h2>

      <table>

            <tr><td>学号</td><td>姓名</td><td>年龄</td><td>操作</td></tr>

            @foreach (var student_ in Model)

            {

                <tr>

                    <td> @student_.student_num</td>

                    <td>@student_.student_name</td>

                    <td>@student_.student_age</td>

                    <td> <form action="/Home/Delete" method="POST">

                             <input type="hidden" name="id" value="@student_.id"/><input type="submit" value="删除"/></form>

                    </td>

                </tr>

            }

        </table>

        <br />

        @Html.ActionLink("新生添加""Add""Home")

    3.2 添加HomeController,注意名字必须以HomeController;

    编写HomeController.cs 如下

     public class HomeController : Controller

        {

            //

            // GET: /Home/

     

            public ActionResult Index()

            {

                using (var db = new studentsEntities1())

                {

                    List<student> students = db.student.SqlQuery("select * from student").ToList();

     

     

                    //return View();

                    return View(students);

                }

     

            }

            [HttpPost]

            public ActionResult Add(FormCollection form)

            {

               String name = form["student_name"];

               String num = form["student_num"];

                int age =int.Parse(form["student_age"]);

            

                student newstudent = new student();

                newstudent.student_age = age;

                newstudent.student_name = name;

                newstudent.student_num = num;

     

                try

                {

                    using (var db = new studentsEntities1())

                    {

                        db.student.Add(newstudent);

                        db.SaveChanges();

                        ViewData["result"] = "ok";

                    }

                }

                catch (Exception)

                {

                    ViewData["result"] = "fail";

                    throw;

                   

                }

     

                return View("Add");

     

               

               

            }

            [HttpGet]

            public ViewResult Add()

            {

     

     

                return View("AddInfo");

            }

            public ViewResult Delete()

            {

               

                int id = Int16.Parse(Request.Form["id"]);

                try

                {

                    using (var db = new studentsEntities1())

                    {

     

                        db.student.Remove(db.student.First(m => m.id == id));

                        db.SaveChanges();

                        ViewData["result"] = "ok";

                    }

     

                }

                catch (Exception)

                {

                    ViewData["result"] = "fail";

                    throw;

                }

     

                return View("Delete");

            }

     

        }

    3.3添加AddInfo视图,填写添加的详细信息

    代码如下:

    @model students.student

     

    @{

        ViewBag.Title = "AddInfo";

    }

     

    <h2>AddInfo</h2>

    <body>

    @using (Html.BeginForm("Add","Home",FormMethod.Post)) {

    <p>Student Num: @Html.TextBoxFor(x => x.student_num) </p>

    <p>Student Name: @Html.TextBoxFor(x => x.student_name)</p>

    <p>Student Age: @Html.TextBoxFor(x => x.student_age)</p>

     

    <input type="submit" value="Add" />

     }

    </body>

    3.4 添加Add视图,显示添加的结果

    代码如下:

    @{

        ViewBag.Title = "Add";

    }

    @if (ViewData["result"].Equals("ok"))

    {

        <p>添加成功</p>

    }

    else

    {

       <p>添加失败</p>

    }

    3.5 添加Delete视图,显示删除的结果

    @{

        ViewBag.Title = "Delete";

    }

     

    @if (ViewData["result"].Equals("ok"))

    {

        <p>删除成功</p>

    }

    else

    {

       <p>删除失败</p>

    }

     

    4 运行的结果

     

     

     

    由于初次用博客园,不知道怎么上传代码,我已经把代码放到CSDN上:http://download.csdn.net/detail/shencheng57/5524011

  • 相关阅读:
    机器学习入门-相关性分析
    R语言-记号体系
    R语言基础
    职位画像分析(pandas/ matplotlib)
    python 可视化工具-matplotlib
    pandas-缺失值处理
    k-means实战-RFM客户价值分群
    药店商品销量分析(python)
    Jike_Time-决策树
    3.7 嵌入式SQL
  • 原文地址:https://www.cnblogs.com/shencheng5721/p/3118937.html
Copyright © 2011-2022 走看看