初学.net增删改查
分页显示
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增删改查的更多相关文章
- webapi初学项目(增删改查)
初学wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: ...
- webapi初学项目(增删改查),webapi增删
wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路 ...
- NHibernate初学一之简单增删改查
以前有简单了解NHibernate,但因项目一直没有运用所以也没有机会进行一个详细了解:最近利用一点空闲的时间认真学习它:同样希望把学习过程进行简单记录,今天简单写一个针对MSSQL数据库的增删改查的 ...
- 通过JDBC进行简单的增删改查(二)
本章笔记更易理解和学习,也是我第一次初学的笔记. package javastudy; import java.sql.Connection; import java.sql.DriverManage ...
- 初试KONCKOUT+WEBAPI简单实现增删改查
初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...
- (转)初试konckout+webapi简单实现增删改查
原文地址:http://www.cnblogs.com/flykai/p/3361064.html 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc ...
- vue.js+element ui Table+spring boot增删改查
小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
随机推荐
- HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛 - 初赛(A))
小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- 织梦dedecms如何显示所有文章列表
本文介绍了dedecms中显示所有文章列表的实现方法,dedecms如何显示所有文章列表,有需要的朋友参考下. 例子,dedecms中显示所有文章列表. 代码示例:{dede:channelart ...
- nginx最简单的网站配置:单主机+静态文件
1.域名绑定主机:新建一个A记录,将www的子域名绑定到主机的ip上:2.主机的nginx设置监听端口,绑定域名,修改网站根目录路径和默认首选文件:/etc/nginx/conf.d 这个目录中新建一 ...
- JQuery判断div(控件)是否为隐藏
以下是JavaScript 中判断div是否为隐藏代码引用片段: if (div.style.display == "none") { div.style.display = &q ...
- 让振动器振动起来——Vibrator的使用
AndroidManifest.xml 获取系统权限 <uses-permission android:name="android.permission.VIBRATE"/& ...
- iOS中键盘的收起
在UIViewController中收起键盘,除了调用相应控件的resignFirstResponder方法之外,还有另外三种方法: 重载UIViewController中的touchesBegin方 ...
- BZOJ_2253_[2010 Beijing wc]纸箱堆叠 _CDQ分治+树状数组
BZOJ_2253_[2010 Beijing wc]纸箱堆叠 _CDQ分治+树状数组 Description P 工厂是一个生产纸箱的工厂.纸箱生产线在人工输入三个参数 n p a , , 之后, ...
- javascript之this指向
情况一: 如果一个函数中有this,但是没有被上一级调用,this指向window 例: function a(){ var num='11'; console.log(this.num); //u ...
- Code-NFine:下来框和复选框
ylbtech-Code-NFine:下来框和复选框 1.返回顶部 1. 1.1 html $("#F_OrganizeId").bindSelect({ url: "/ ...
- XMPP即时通讯基础知识
XMPP参考 一.定义 XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接受的类型,并理解它返回的类型,就可以很好的利用xmpp来进行 ...