MVC操作LocalDB数据库,通过电影类型和名称来查询电影,在控制器里写的方法以及页面代码,自己参考。

  //按电影类别来查询电影并排列
        public ActionResult Index(string movieGenre, string searchString)
        {

            //可以放string类型的空的泛型集合
            var Genrelst = new List<string>();

            //下面的代码是从数据库中检索所有类型的LINQ 查询。
            var GenreQry = from d in db.Movies
                           orderby d.Genre
                           select d.Genre;

            //把不重复的电影类别放在集合的末尾
            Genrelst.AddRange(GenreQry.Distinct());
            //把查询的数据放到view.bag里
            ViewBag.movieGenre = new SelectList(Genrelst);

            //查询电影名称
            var movies = from m in db.Movies
                         select m;

            if (!String.IsNullOrEmpty(searchString))
            {
                movies = movies.Where(s=>s.Title.Contains(searchString));
            }

            //通过类型查询电影。如何检查movieGenre参数。
            //如果它不是空的代码进一步约束电影查询,以限制所选的电影到指定的类型
            if (!String.IsNullOrEmpty(movieGenre))
            {
                movies = movies.Where(p=>p.Genre==movieGenre);
            }
            return View(movies);
        }

视图里的代码
@model IEnumerable<Movies.Models.Movie>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")

    @*using的用法,还记得吗*@
   @using (Html.BeginForm("Index", "Movies", FormMethod.Get))
        //如果这样先执行控制器里的HttpGet方法。如果beginform没有参数执行Httppost方法
{
        <p>电影名:@Html.TextBox("searchString")<br/>
           类型:@Html.DropDownList("movieGenre", "全部类型")
         <input type="submit" value="查询"/>
    </p>
    }
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Title)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.ReleaseDate)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Genre)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Price)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Title)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ReleaseDate)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Genre)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Price)
        </td>
        <td>
            @Html.ActionLink("修改", "Edit", new { id=item.ID}) |
            @Html.ActionLink("祥情", "Details", new { id=item.ID }) |
            @Html.ActionLink("删除", "Delete", new { id=item.ID })
        </td>
    </tr>
}

</table>
时间: 2024-11-14 08:56:09

MVC操作LocalDB数据库,通过电影类型和名称来查询电影,在控制器里写的方法以及页面代码,自己参考。的相关文章

MVC操作SQL数据库增删改查

控制器代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; namespace MvcApplication1.Controllers { public class HomeController : Controller { // // GET: /Home/ publi

【python深入5】操作mysql数据库、语言类型

1)mysql基本操作 show?databases;??//查看当前数据库 use?mysql;??//进入mysql库 show?tables;??//查看mysql库中的表 create?table?user?(name?varchar(20),password?varchar(20));??//创建user表,包含name.password字段 insert?into?user?values('Tom','1321');??//向user表里插入若干条数据 select?*?from?u

.NET环境下,通过LINQ操作SQLite数据库

//对应数据库中的某个表 [Table(Name = "main.Student")]    public class Student    {        [Column(Name = "StuName", DbType = "varchar(50)")]        public string StuName { get; set; }        [Column(Name = "StuNo", DbType = &

使用EF Code First搭建一个简易ASP.NET MVC网站,允许数据库迁移

本篇使用EF Code First搭建一个简易ASP.NET MVC 4网站,并允许数据库迁移. 创建一个ASP.NET MVC 4 网站. 在Models文件夹内创建Person类. public class Person { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } 在Controls文件夹内创建PersonControlle

Python操作SQLite数据库

连接数据库 从2.5版本开始,Python的标准库中就有了一个专门用于SQLite的sqlite3模块.连接SQLite数据库方式如下: import sqlite3 as dbapi con = dbapi.connect('population.db') cur = con.cursor() 第一个语句用于引用数据库API: 第二个语句创建了一个到数据库的连接(connection):调用数据库模块的connect方法.该方法的参数是一个字符串,它定义了我们所要连接的那个数据库.由于SQLi

Python操作远程数据库

我的项目要往数据库中插入create_time和update_time,那就势必要引用现在的系统时间,经过大量的查找,终于发现往python是没有对应时间datetime的相关通配符的,那么我们要怎么实现呢. 其实很简单,我们只需要把datetime转换成字符串类型的就行 def insertIntoChannel(self, user): conn = JDBCUtils.getConnection() cursor = conn.cursor() dt=datetime.datetime.n

Oracle数据库以date类型保存日期时,Java中用哪个类对应数据库的date类型?

1. 使用JDBC操作Oracle数据库时,使用java.sql.Date类型对应数据库的date类型,此时只能保存和读取日期部分, 时间(时分秒)部分不能读取和保存:  查询结果集可以直接获取Date类型的数据:java.sql.Date date=resultSet.getDate("dateTime"): java.sql.Date类型的数据也可以直接保存到数据库或者与数据库中date类型的数据直接比较大小: 字符串的日期,则用SQL语句的转换函数 to_date('2017-4

VB操作Access数据库方法

'1.首先声明一个链接对象,声明记录集对象,定义一个数据链接字符串 '方法1: Dim adocn As New ADODB.Connection  '声明一个链接对象 '方法2: 'Dim adocn As ADODB.Connection 'Set adocn = New ADODB.Connection Dim strconn As String  '定义一个数据链接字符串 strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&q

Qt操作Sqlite数据库

总算在Qt中把Sqlite操作成功了,写点总结吧.其实早就弄对了的,但查看数据库就是没有想要的结果.最后发现生成的执行文件在Dbug目录,与先前设定的路径不同,这才恍然大悟. 一.使用到数据库模块,需在pro文件中加入:QT += sql 二.所需数据库操作的相关头文件:#include <QSqlDatabase>#include <QSqlQuery>#include <QSqlRecord>#include <QSqlField> 三.连接Sqlite