mvc3.0 +linq 操作数据库中表的数据(ps:本人菜鸟刚学)
1:添加控制器类文件HomeController.cs其代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcTestData.Models;
namespace MvcTestData.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index()
{
TestDataContext txtData = new TestDataContext();
var result=from info in txtData.StuTable
select info;
ViewData["data"] = result;
return View(result);
} public ActionResult Add(FormCollection form)
{
string id =form["StuId"];
string name=form["StuName"];
string sex = form["StuSex"];
int age = int.Parse(form["StuAge"]);
string address = form["StuAddress"]; StuTable stu = new StuTable();
stu.StuId = id;
stu.StuName = name;
stu.StuSex = sex;
stu.StuAge = age;
stu.StuAddress = address; try
{
using (var db = new TestDataContext())
{
db.StuTable.InsertOnSubmit(stu);
db.SubmitChanges();
ViewData["result"] = "ok";
}
}
catch
{
ViewData["result"] = "fail";
throw;
}
return View("Add");
} public ViewResult AddInfo()
{
return View("AddInfo");
} public ViewResult Delete()
{
int id = Int16.Parse(Request.Form["id"]);
try
{
using (var db = new TestDataContext())
{
db.StuTable.DeleteOnSubmit(db.StuTable.First(info => info.ID == id));
db.SubmitChanges();
ViewData["result"] = "ok";
}
}
catch
{
ViewData["result"] = "fail";
throw;
}
return View("Delete");
} }
}
2:为models文件夹添加linq to sql 类文件然后把数据库中的表copy 进来
3:为控制器中的Action添加各自的视图
4 视图Index.cshtml的代码
@using MvcTestData.Models
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
</head>
<body>
<div>
<table border="" cellspacing="" cellpadding="" width="100%" style="text-align:center" >
<tr>
<th>序号</th><th>学号</th><th>姓名</th><th>性别</th><th>年龄</th><th>住址</th><th >操作</th>
</tr>
@foreach (StuTable info in (ViewData["data"] as IEnumerable<StuTable>))
{
<tr>
<td>@info.ID</td>
<td>@info.StuId </td>
<td>@info.StuName </td>
<td>@info.StuSex </td>
<td>@info.StuAge </td>
<td>@info.StuAddress </td>
<td >
<form action="/Home/Delete" method="post">
<input type="hidden" name="id" value="@info.ID"/>
<input type="submit" value="删除"/> </form> </td>
</tr>
}
</table>
<br/>
@Html.ActionLink("添加个人信息","AddInfo","Home")
</div>
</body>
</html>
5 视图 Add.cshtml的代码
@model MvcTestData.Models.StuTable
@{
ViewBag.Title = "Add";
}
@if(ViewData["result"].Equals("ok"))
{
<p>添加成功</p>
}
else
{
<p>添加失败</p>
}
6 视图AddInfo.cshtml代码
@model MvcTestData.Models.StuTable
@{
ViewBag.Title = "AddInfo";
}
<h2>AddInfo</h2>
<body>
@using(Html.BeginForm("Add","Home",FormMethod.Post))
{
<p>Student 学号:@Html.TextBoxFor(x=>x.StuId)</p>
<p>Student 姓名:@Html.TextBoxFor(x=>x.StuName)</p>
<p>Student 性别:@Html.TextBoxFor(x=>x.StuSex)</p>
<p>Student 年龄:@Html.TextBoxFor(x=>x.StuAge)</p>
<p>Student 住址:@Html.TextBoxFor(x=>x.StuAddress)</p>
<input type="submit" value="Add" />
}
</body>
7 视图Delete.cshtml代码
@model MvcTestData.Models.StuTable
@{
ViewBag.Title = "Delete";
}
@if (ViewData["result"].Equals("ok"))
{
<p>删除成功</p>
}
else
{
<p>删除失败</p>
}
8 最终测试结果图:
mvc3.0 +linq 操作数据库中表的数据(ps:本人菜鸟刚学)的更多相关文章
- 删除mysql数据库中表分区数据
删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表 ...
- 160316、实时处理oracle数据库中表的数据变化
http://blog.csdn.net/as339000204/article/details/45390727 近期接受项目需求,需要实时处理oracle数据库中表的数据变化,首先想到的是 ...
- JDBC操作数据库之修改数据
使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update bo ...
- 监测SQLServer数据库中表的数据变化 方案
sqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的. ...
- 将一个数据库中表的数据导入另一个数据库(DB2)
将一个数据库中的数据导入另一个数据库(DB2) 我这里举得例子是使用的DB2数据库,其他数据库思路也是这样啦! 1.从db2 数据库中将表中的数据导入本地的excel中 export to d:\my ...
- 使用 Navicat 8.0 管理mysql数据库(导出导入数据)
http://dxcns.blog.51cto.com/1426423/367105 使用Navicat For MySql 将mysql中的数据导出,包括数据库表创建脚本和数据 (1)数据的导出:右 ...
- [转]LINQ操作数据库
查询表达式(LINQ)简介 C#3.0新语特性和改进,这些新特性在我们编写程序时为我们提供了非常大的帮助.从这篇开始,我们开始一起来探讨LINQ. LINQ是Language Integrated Q ...
- C#在winform中操作数据库,实现数据增删改查
1.前言: 运行环境:VS2013+SQL2008+Windows10 程序界面预览: 使用的主要控件:dataGridview和menuStrip等. 2.功能具体介绍: 1.首先,我们要先实现基本 ...
- SQL语言(二) java怎样连接操作数据库中的数据
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...
随机推荐
- STL学习系列九:Map和multimap容器
1.map/multimap的简介 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对.它提供基于key的快速检索能力. map中key值是唯一的.集合中的元素按一定的顺 ...
- js关闭当前页面(窗口)的几种方式总结
1. 不带任何提示关闭窗口的js代码 <a href="javascript:window.opener=null;window.open('','_self');window.clo ...
- Android 通过ViewFlipper实现广告轮播功能并可以通过手势滑动进行广告切换
为了实现广告轮播功能,在网上找了很多方法,有的效果很好,但是代码太麻烦,并且大多是用的viewpager,总之不是很满意. 于是看了一下sdk有个控件是ViewFlipper,使用比较方便,于是尝试了 ...
- C#.NET 消息机制
一.消息概述 众人周知,window系统是一个消息驱动的系统, windows操作系统本身有自己的消息队列,消息循环,它捕捉键盘,鼠标的动作生成消息,并将这个消息传给应用程序的消息队列. 余下的工作有 ...
- 非阻塞同步机制与CAS操作
锁的劣势 Java在JDK1.5之前都是靠synchronized关键字保证同步的,这种通过使用一致的锁定协议来协调对共享状态的访问,可以确保无论哪个线程 持有守护变量的锁,都采用独占的方式来访问这些 ...
- hdoj 5335 Walk Out
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5335 #include<stdio.h> #include<cstring> ...
- Lucene/ElasticSearch 学习系列 (1) 为什么学,学什么,怎么学
为什么学 <What I wish I knew When I was 20>这本书给了我很多启发.作者在书中提到,Stanford 大学培养人才的目标是 ”T形人才“:精通某个领域,但对 ...
- js时间转换相关
1.json时间格式转换 function ChangeDateFormat(jsondate) { if (!jsondate||jsondate.length < 1) {return &q ...
- Form实现主从块金额汇总
1.FORM使用app_calculate.running_total汇总行金额,行上有编码重复验证. 情况一:当录入多个编码重复的行并保存时,报错,清除一个重复行再保存(头行金额一致),报错&quo ...
- props 和 state的区别
作者:孙志勇 微博 日期:2016年11月29日 一.时效性 所有信息都具有时效性.文章的价值,往往跟时间有很大关联.特别是技术类文章,请注意本文创建时间,如果本文过于久远,请读者酌情考量,莫要浪费时 ...