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 ...
随机推荐
- 二十八个 HTML5 特性与技巧
1. New Doctype 你还在使用令人讨厌的难记的XHTML文档类型声明吗?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...
- C++11外部模板
[C++11之外部模板] 在标准C++中,只要在编译单元内遇到被完整定义的模板,编译器都必须将其实例化(instantiate).这会大大增加编译时间,特别是模板在许多编译单元内使用相同的参数实例化. ...
- HDU 1846 Brave Game(简单巴什博弈)
Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- LC串联谐振回路
- hdu 2899 Strange fuction
http://acm.hdu.edu.cn/showproblem.php?pid=2899 Strange fuction Time Limit: 2000/1000 MS (Java/Others ...
- Max retries exceeded with url
78 Traceback (most recent call last): File "thread072413.py", line 163, in <module> ...
- lbs basic mongodb
MongoDB地理位置索引常用的有两种. db.places.ensureIndex({'coordinate':'2d'}) db.places.ensureIndex({'coordinate': ...
- [ASP.NET]更简单的方法:FormsAuthentication登录ReturnUrl使用绝对路径
转自:http://www.cnblogs.com/dudu/p/formsauthentication-returnurl-absoluteuri.html [ASP.NET]更简单的方法:Form ...
- Trapping Messages Sent to an Application
http://www.delphicorner.f9.co.uk/articles/apps7.htm Trapping Messages Sent to an Application I wrote ...
- PL/pgSQL学习笔记之六
http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3.1. 声明函数参数 传递给函数的参数被用 $1.$2等 ...