WebForm增删改查
最基本的,拼接字符串在Literal里面显示表,IsPostBack,增删改查基本,?传值 Request接收
LinQ to SQL类
在Default主页里面拖入Literal控件再加入一个按钮,后台写代码
函数类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// CarDA 的摘要说明
/// </summary>
public class CarDA
{
private DataClassesDataContext context; public CarDA()
{
context = new DataClassesDataContext();
}
public List<Car> selec()
{
return context.Car.ToList();
}
public Car select(string code)
{
var query = context.Car.Where(p => p.Code == code);
return query.First();
}
public void delete(string code)
{
var query = context.Car.Where(p => p.Code == code);
if (query.Count() > )
{
Car data = query.First();
context.Car.DeleteOnSubmit(data);
context.SubmitChanges();
}
}
public void insert(Car data)
{
Productor prod = new Productor();
Brand brand = new Brand();
brand.Brand_Code=data.Brand;
brand.Brand_Name=data.Name;
brand.Prod_Code=data.Code;
brand.Brand_Memo=data.Name; prod.Prod_Code = brand.Prod_Code;
prod.Prod_Name = brand.Brand_Name;
context.Productor.InsertOnSubmit(prod);
context.Brand.InsertOnSubmit(brand);
context.Car.InsertOnSubmit(data);
context.SubmitChanges();
}
public void Update(Car save)//string code, string name,string brand, DateTime time,decimal oil,int powers,int exhaust,decimal price,string pic
{
var query = context.Car.Where(p => p.Code == save.Code);
if (query.Count() > )
{
Car data = query.First();
data.Code = save.Code;
data.Name = save.Name;
data.Brand =save.Brand;
data.Time = save.Time;
data.Oil =save.Oil;
data.Powers = save.Powers;
data.Exhaust = save.Exhaust;
data.Price = save.Price;
data.Pic = save.Pic;
context.SubmitChanges();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<Car> list =new CarDA().selec(); string s = "<table width=100% border=1><tr><td>编号</td><td>名称</td><td>价格</td><td>操作</td></ tr>";//</ table>";
foreach (Car data in list)
{
s += "<tr><td>" + data.Code + " </td><td><a href='Default2.aspx?code=" + data.Code + "'>" + data.Name + "</a></td><td>" + data.Price + "</td><td><a href='delete.aspx?code=" + data.Code + "'>删除</a> <a href='Default2.aspx?code=" + data.Code + "'>修改</a></td></tr>";
}
s += "</ table>";
Literal1.Text = s;
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("insert.aspx");
}
}

____________________________________________________我是华丽的分割线____________________________________________________
点击添加按钮 添加:
因为这里牵扯到主外键关系,先要加主键才能建外键,所以为了能运行 用了点手段, 点击按钮触发 Response.Redirect("insert.aspx");转到 insert页面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class insert : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
Car data = new Car();
data.Code = TextBox2.Text;
data.Name=TextBox3.Text;
data.Brand=TextBox4.Text;
data.Time = Convert.ToDateTime(TextBox5.Text);
data.Oil= Convert.ToDecimal(TextBox6.Text);
data.Powers = Convert.ToInt32(TextBox7.Text);
data.Exhaust = Convert.ToInt32(TextBox8.Text);
data.Price = Convert.ToDecimal(TextBox9.Text);
data.Pic = TextBox10.Text;
new CarDA().insert(data);
Response.Redirect("Default.aspx");
}
}
点击insert页面中的提交 执行完添加函数后会转入Default.aspx主页面 Response.Redirect("Default.aspx");
____________________________________________________我是华丽的分割线____________________________________________________
删除:
每行后面有个删除按钮,超链接点击后导入删除界面,执行删除跳回主页面
?code把 code=后面的值传走
在指定页面Request["code"]接收,Request["code"]是Object类,如果要用请先转换类型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class delete : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
new CarDA().delete(Request["code"].ToString());
Response.Redirect("Default.aspx");
}
}
____________________________________________________我是华丽的分割线____________________________________________________
修改:
修改与添加类似,需要传值,根据传入的值查询具体类,修改后保存
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Car data = new CarDA().select(Request["code"].ToString());
TextBox2.Text = data.Code;
TextBox3.Text = data.Name;
TextBox4.Text = data.Brand.ToString();
TextBox5.Text = data.Time.ToString();
TextBox6.Text = data.Oil.ToString();
TextBox7.Text = data.Powers.ToString();
TextBox8.Text = data.Exhaust.ToString();
TextBox9.Text = data.Price.ToString();
TextBox10.Text = data.Pic;
}
} protected void Button1_Click(object sender, EventArgs e)
{
Car data = new Car();
data.Code =TextBox2.Text;
data.Name =TextBox3.Text ;
data.Brand = TextBox4.Text;
data.Time =Convert.ToDateTime(TextBox5.Text) ;
data.Oil = Convert.ToDecimal(TextBox6.Text);
data.Powers =Convert.ToInt32( TextBox7.Text) ;
data.Exhaust = Convert.ToInt32(TextBox8.Text);
data.Price = Convert.ToDecimal(TextBox9.Text);
data.Pic = TextBox10.Text;
new CarDA().Update(data);
Response.Redirect("Default.aspx");
}
}
这里要注意,查询要加入IsPostBack条件判定,否则点击提交按钮后会刷新页面,我们修改的数据会随刷新页面覆盖,刷新后重新执行查询并覆盖我们之前输入的数据,这个数据虽然在页面上没有显示更改,但是在后台已经被查出来的数据覆盖,所以我们无论怎么修改都是存的查出来的数据,相当于没改.
为了避免这种情况我们用IsPostBack,他会比对如果重复刷新了就不执行查询了.
WebForm增删改查的更多相关文章
- Webform(Linq增删改查)
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(1)Linq创建添加LINQ to SQL类,类名需与要连接的数 ...
- Asp.net WebApi 项目示例(增删改查)
1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...
- Web API开发实例——对产品Product进行增删改查
1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...
- webApi实现增删改查操作
1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...
- winform 配置文件增删改查
winform 配置文件是 App.config webform 的配置文件 是web.config 其实基本操作都一样 设置个配置文件 全局文件 访问者个配置文件 对这个配置文件增删 ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
随机推荐
- JS复习--更新结束
js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...
- Windows综合应用
待修改中-------------------------------------- 快捷键部分: Win+E:打开"我的电脑"E:Explot的缩写,即资源管理器. ------ ...
- 使用mosh取代ssh提高n2n网络连接稳定性
上文实现了远程n2n访问树莓派,但是ssh协议在网络状况不好的时候命令会卡住.这里发现了一个mosh协议,可以增强稳定性,使用后效果明显. 背景:使用n2n之后,在比较差的网络环境下,经常会被time ...
- Join Attributes
1. IWorkspaceFactory2 workspaceFactory = new ShapefileWorkspaceFactoryClass() as IWorkspaceFactory2; ...
- 面试题目——《CC150》链表
面试题2.1:编写代码,移除未排序链表中的重复结点 进阶:如果不得使用临时缓冲区,该怎么解决? package cc150; import java.util.HashMap; import java ...
- Hbase过滤器Filter的使用心得(爬坑经验)
Hbase 的过滤器是个好东西.. 给这种非关系型数据库本来不能复杂查询的情况得到了很好的扩展..提供了很多的帮助.. 但是Filter的种类何其之多..让人眼花缭乱.. 譬如..分页类型的PageF ...
- JSP与EL隐式对象
一,JSP隐式对象 隐式对象是可以直接使用的,无需声明.因为在JSP转译为servlet文件后,会自动声明其对象. 隐式对象① 说明 out 对应JspWriter对象,其内部关联一个PrintWri ...
- Express知识整理
开发实例 Express开发实例(1) —— Hello,world! Express开发实例(2) —— Jade模板引擎
- JSP内置对象之application对象
虽然常把Web应用称为B/S架构的应用,但其实Web应用一样是C/S结构的应用,只是这种应用的服务器是Web服务器,而客户端是浏览器. 现在抛开Web应用直接看Web服务器和浏览器. Web服务器负责 ...
- JSP入门
JSP简介 所谓JSP就是在网页文件中嵌入Java代码或JSP定义的一些标记.JSP是建立在Servlet上的,在执行时JSP容器会先将JSP文件转换成Servlet文件以及class 文件,然后再执 ...