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

原文地址:https://www.cnblogs.com/shencheng5721/p/3118937.html