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 ...
随机推荐
- invoking gdb
[invoking gdb] The most usual way to start gdb is with one argument, specifying an executable progra ...
- 使用UIGestureRecognizer监听屏幕事件
转载自 http://blog.csdn.net/samguoyi/article/details/7911499 如果只是想获取屏幕点击事件有一个最简单的办法,就是写一个透明的uibutton覆盖 ...
- servlet-3_0-final-spec
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns="http://w ...
- yii2.0 gii
1.添加模型 ./yii-dev gii/model --tableName=tableName --generateLabelsFromComments --ns='app\models\base' ...
- 转载:Erlang 资源
Erlang资源 erlang豆瓣广播
- PHP中关于超链接的拼接问题
<?php$link = " http://www.baidu.com";echo '<a href='.$link.'> 百度 </a>';?> ...
- wpa_supplicant 中的wpa_supplicant.conf
主要记录下wep加密相关的配置文件的写法. network={ ssid="static-wep-test2" key_mgmt=NONE wep_key0= //密钥索引为2, ...
- grunt入门之grunt watch的使用
watch几乎是grunt必不可少的应用,一旦配置好watch,保存文件后将立即执行命令 安装方式如下: npm install grunt-contrib-watch --save-dev 安装好以 ...
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions 快筛质数
题目大意:给出一个等差数列,问这个等差数列的第n个素数是什么. 思路:这题主要考怎样筛素数,线性筛.详见代码. CODE: #include <cstdio> #include <c ...
- ajax跳转页面问题
$.ajax({ type:"POST", url: //你的请求程序页面随便啦 async:false,//同步:意思是当有返回值以后才会进行后面的js程序. data://请求 ...