分页显示

DAL:

public List GetListByPager(int PageIndex, int PageSize, out int RowCount)

  {

    string sql = "select top " + PageSize + " * from GTMessage where GId not in (select top ((" + PageIndex + "-1)*" + PageSize + ") GId from GTMessage)";

    string sqll = "select count(*) from GTMessage";

     RowCount = Convert.ToInt32(DBHelper.ExecuteScalar(sqll));

    DataTable dt = DBHelper.GetTable(sql);

     List list = new List();

     for (int i = 0; i < dt.Rows.Count; i++)

     {

      GModel g = new GModel();

      g.GId = Convert.ToInt32(dt.Rows[i]["GId"]);

      g.GCarId = dt.Rows[i]["GCarId"].ToString();

      g.GHomeId = dt.Rows[i]["GHomeId"].ToString();

      g.GGoods = dt.Rows[i]["GGoods"].ToString();

      g.GTime = dt.Rows[i]["GTime"].ToString();

      g.GName = dt.Rows[i]["GName"].ToString();

      list.Add(g);

    }

    return list;

  }

Controllers:

public ActionResult Index()
        {
            int PageIndex = 1;
            int PageSize = 5;
            int RowCount = 0;
            int PageCount = 0;
            if (Request["PageIndex"] != null)
            {
                PageIndex = Convert.ToInt32(Request["PageIndex"]);
            }

if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (Session["PageCount"] != null && PageIndex > Convert.ToInt32(Session["PageCount"]))
            {
                PageIndex = Convert.ToInt32(Session["PageCount"]);
            }

ViewData["PIndex"] = PageIndex;
            List<GModel> list = bll.GetListByPager(PageIndex, PageSize, out RowCount);

PageCount = RowCount % PageSize == 0 ? RowCount / PageSize : RowCount / PageSize + 1;
            Session["PageCount"] = PageCount;
            return View(list);
        }

View:

<a href="/Home/Index/1">首页</a>
        <a href="/Home/Index?PageIndex=@(Convert.ToInt32(ViewData["PIndex"])-1)">上一页</a>

@for (int ii = 0; ii < Convert.ToInt32(Session["PageCount"]); ii++)
        {
            if ((ii + 1) == Convert.ToInt32(ViewData["PIndex"]))
            {
                <a href="/Home/Index?PageIndex=@(ii+1)" style="font-size:20px;color:red">@(ii + 1)</a>
            }
            else
            {
                <a href="/Home/Index?PageIndex=@(ii+1)">@(ii + 1)</a>
            }
        }

<a href="/Home/Index?PageIndex=@(Convert.ToInt32(ViewData["PIndex"]) + 1)">下一页</a>
        <a href="/Home/Index?PageIndex=@Session["PageCount"]">尾页</a>

添加

DAL:

public int AddGaoTie(GModel GModel)
        {
            string sql = "insert into GTMessage values ('" + GModel.GCarId + "','" + GModel.GHomeId + "','" + GModel.GGoods + "','" + GModel.GTime + "','" + GModel.GName + "')";
            return DBHelper.ExecuteNonQuery(sql);
        }

Controllers:

public ActionResult AddDo(GModel GModel)
        {
            int i = bll.AddGaoTie(GModel);
            if (i > 0)
            {
                return Content("<script>alert('添加成功!');location.href='/Home/index'</script>");
            }
            else
            {
                return Content("<script>alert('添加失败!');location.href='/Home/Add'</script>");
            }
        }

修改

修改首先要根据id查询单行数据进行修改视图的反填

根据id查询单行数据DAL:

public GModel GetListById(int id)
        {
            string sql = "select * from GTMessage where Gid="+id+"";

DataTable table = DBHelper.GetTable(sql);
            GModel g = new GModel();

g.GId = Convert.ToInt32(table.Rows[0]["GId"]);
            g.GCarId = (table.Rows[0]["GCarId"]).ToString();
            g.GGoods = (table.Rows[0]["GGoods"]).ToString();
            g.GHomeId = (table.Rows[0]["GHomeId"]).ToString();
            g.GName = (table.Rows[0]["GName"]).ToString();
            g.GTime = (table.Rows[0]["GTime"]).ToString();

return g;

}

执行修改DAL:

public int UpdGaoTie(GModel GModel)
        {
            string sql = "update GTMessage set GCarId=" + GModel.GCarId + ",GHomeId=" + GModel.GHomeId + ",GGoods=" + GModel.GGoods + ",GTime=" + GModel.GTime + ",GName=" + GModel.GName + " where GId=" + GModel.GId + "";
            return DBHelper.ExecuteNonQuery(sql);
        }

Controllers:

修改视图反填:

public ActionResult UpdateShow(int id)
        {
            GModel g = bll.GetListById(id);
                
            return View(g);
        }

执行修改:

public ActionResult UpdDo(GModel GModel)
        {
            int i = bll.UpdGaoTie(GModel);
            if (i > 0)
            {
                return Content("<script>alert('修改成功!');location.href='/Home/index'</script>");
            }
            else
            {
                return Content("<script>alert('修改失败!');location.href='/Home/UpdateShow'</script>");
            }
        }

修改视图中数据id可以不显示,但视图中必须获取id数据,可以用@Html.Hidden("GId")来隐藏id的显示。因为在做修改操作时须将id传给Controllers的执行修改中进行修改

删除

DAL

public int DelGaoTie(string ids)
        {
            string sql = "delete GTMessage where GId in (" + ids + ")";
            return DBHelper.ExecuteNonQuery(sql);
        }

Controllers:

public ActionResult DelDo(int id)
        {
            int i = bll.DelGaoTie(id.ToString());
            if (i > 0)
            {
                return Content("<script>alert('删除成功!');location.href='/Home/index'</script>");
            }
            else
            {
                return Content("<script>alert('删除失败!');location.href='/Home/index'</script>");
            }
        }

根据GGoods,GName查询数据

public List<GModel> SearchistByPager(int PageIndex, int PageSize, string GGoods, string GName)
        {
            string sql = "select top " + PageSize + " * from GTMessage where GId not in (select top ((" + PageIndex + "-1)*" + PageSize + ") GId  from GTMessage) and GGoods like '%" + GGoods + "%' and GName like '%" + GName+ "%'";
            //string sqll = "select count(*) from GTMessage";
            //RowCount = Convert.ToInt32(DBHelper.ExecuteScalar(sqll));
            DataTable dt = DBHelper.GetTable(sql);

List<GModel> list = new List<GModel>();

for (int i = 0; i < dt.Rows.Count; i++)
            {
                GModel g = new GModel();

g.GId = Convert.ToInt32(dt.Rows[i]["GId"]);
                g.GCarId = dt.Rows[i]["GCarId"].ToString();
                g.GHomeId = dt.Rows[i]["GHomeId"].ToString();
                g.GGoods = dt.Rows[i]["GGoods"].ToString();
                g.GTime = dt.Rows[i]["GTime"].ToString();
                g.GName = dt.Rows[i]["GName"].ToString();
                list.Add(g);
            }

return list;
        }

Controllers

public  ActionResult SearchistByPager(string GGoods,string GName)
        {
            int PageIndex = 1;
            int PageSize = 5;
            int RowCount = 0;
            int PageCount = 0;
            if (Request["PageIndex"] != null)
            {
                PageIndex = Convert.ToInt32(Request["PageIndex"]);
            }

if (PageIndex < 1)
            {
                PageIndex = 1;
            }
            if (Session["PageCount"] != null && PageIndex > Convert.ToInt32(Session["PageCount"]))
            {
                PageIndex = Convert.ToInt32(Session["PageCount"]);
            }

ViewData["PIndex"] = PageIndex;
            //List<GModel> list = bll.GetListByPager(PageIndex, PageSize, out RowCount);

PageCount = RowCount % PageSize == 0 ? RowCount / PageSize : RowCount / PageSize + 1;
            Session["PageCount"] = PageCount;
            return View("Index",bll.SearchistByPager(PageIndex,PageSize,GGoods,GTime));
        }




对于动态下拉框的数据获取,绑定如下

首先需要在DAL层查询主表数据

public List<RTypeModel> GetRTList()
        {
            string sql = "select RTid,RTname from RType  ";
            DataTable dt = DBHelper.GetTable(sql);
            List<RTypeModel> list = new List<RTypeModel>();

for (int i = 0; i < dt.Rows.Count; i++)
            {
                RTypeModel rt = new RTypeModel();
                rt.RTid = Convert.ToInt32(dt.Rows[i]["RTid"]);
                rt.RTname = dt.Rows[i]["RTname"].ToString();
                list.Add(rt);
            }

return list;
        }

在Controllers中需要使用ViewBag存值向视图传值

ViewBag.RTid = new SelectList(bll.GetRTList(), "RTid", "RTname");

在视图中绑定下拉框数据

@Html.DropDownList("RTid")

初学.net增删改查的更多相关文章

  1. webapi初学项目(增删改查)

    初学wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: ...

  2. webapi初学项目(增删改查),webapi增删

    wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路 ...

  3. NHibernate初学一之简单增删改查

    以前有简单了解NHibernate,但因项目一直没有运用所以也没有机会进行一个详细了解:最近利用一点空闲的时间认真学习它:同样希望把学习过程进行简单记录,今天简单写一个针对MSSQL数据库的增删改查的 ...

  4. 通过JDBC进行简单的增删改查(二)

    本章笔记更易理解和学习,也是我第一次初学的笔记. package javastudy; import java.sql.Connection; import java.sql.DriverManage ...

  5. 初试KONCKOUT+WEBAPI简单实现增删改查

    初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...

  6. (转)初试konckout+webapi简单实现增删改查

    原文地址:http://www.cnblogs.com/flykai/p/3361064.html 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc ...

  7. vue.js+element ui Table+spring boot增删改查

    小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...

  8. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  9. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

随机推荐

  1. CentOS 6.5 通过 PHP函数的sendmail 发送邮件

    非常多站点须要用到Sendmail函数发送激活邮件,在centos中内置了Sendmail模块,直接调用就可以,假设遇到问题,可採用例如以下两个步骤检測并解决: 1. 命令行输入:echo " ...

  2. 如何使用git 生成patch 和打入patch【转】

    本文转载自:http://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用 ...

  3. 项目中Redis分库

    Redis中有16个库 默认第0个库 配置库的设置: 不同的库  key可以重复哈 公司的多个不同分布式项目,但是只有一个redis时候,以项目方式区分不同的库 每个项目连接相同 但是库不同

  4. PHP——巧用PHP函数array_merge()合并数组

    前言 返回联系人列表,包含所有的字母,之前返回的是存在这个联系人才会返回对应的大写字母,后面更改了要求要返回所有的字母从A-Z.PHP内置的一些函数活用起来,真的很省劲! 步骤 一般这时候大家可能直接 ...

  5. 用于JS日期格式化,以及简单运算的Date包装工具类

    1. [文件] yDate.js/** * | yDate.js | Copyright (c) 2013 yao.yl | email: redrainyi@126.com | Date: 2012 ...

  6. zoj 1109 Language of FatMouse 解题报告

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=109 题目意思:给出一个mouse-english词典,问对于输入的m ...

  7. 关于JQuery获取元素索引值的理解

    举例: <html> <body> <div id="text"> <div> <a><span>标题一&l ...

  8. 启动和测试oracle是否安装成功

    转自:https://www.cnblogs.com/justdo-it/articles/5112576.html 测试步骤1:请执行操作系统级的命令:tnsping orcl 测试步骤 2:请执行 ...

  9. 【202】ThinkPad手势&快捷键

    快捷键: Ctrl + Alt + ↑:正常屏幕Ctrl + Alt + ↓:翻转屏幕Ctrl + Alt + →:向左侧翻转90°Ctrl + Alt + ←:向右侧翻转90° 首先看下 Esc 键 ...

  10. 编程 MD(d)、MT(d)编译选项的区别

    转:http://blog.csdn.net/nodeathphoenix/article/details/7550546 1.各个选项代表的含义 编译选项 包含 静态链接的lib 说明 /MD _M ...