模板页显示Excel数据Gridview增删改查

<%@ Page Title="主页" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
欢迎使用 ASP.NET!
</h2>
<p>
若要了解关于 ASP.NET 的详细信息,请访问 <a href="http://www.asp.net/cn" title="ASP.NET 网站">www.asp.net/cn</a>。
</p>
<p>
您还可以找到 <a href="http://go.microsoft.com/fwlink/?LinkID=152368"
title="MSDN ASP.NET 文档">MSDN 上有关 ASP.NET 的文档</a>。
</p>
<p>
<asp:Button ID="Button1" runat="server" Text="显示Excel数据"
onclick="Button1_Click" />
</p>
<p>
<asp:GridView ID="GridView1" runat="server" Width="100%">
<Columns>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:Button ID="Button3" runat="server" Text="删除"
CommandArgument='<%# Eval("编号") %>' onclick="Button3_Click" />
<asp:Button ID="Button4" runat="server" Text="编辑"
CommandArgument='<%# Eval("编号") %>' onclick="Button4_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</p>
<p>
编号:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</p>
<p>
姓名:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</p>
<p>
性别: <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</p>
<p>
<asp:Button ID="Button2" runat="server" Text="新增" onclick="Button2_Click" />
<asp:Button ID="Button5" runat="server" Text="提交" onclick="Button5_Click"
style="height: 21px" />
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb; namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{ string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=yes'";
protected void Page_Load(object sender, EventArgs e)
{
string fileName = "content/student.xls";
fileName = Server.MapPath(fileName);
connStr = string.Format(connStr,fileName);//连接字符串 } protected void Button1_Click(object sender, EventArgs e)
{
//读取student.xls文件中的学生数据
BindList(); } private void BindList()
{
string sql = "select * from [Sheet1$]";
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbDataAdapter da = new OleDbDataAdapter(cmd); DataTable dt = new DataTable();
da.Fill(dt);
conn.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}
//新增
protected void Button2_Click(object sender, EventArgs e)
{
string sql = "insert into [Sheet1$] values(@a,@b,@c)";
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql,conn);
OleDbParameter[] pm = new OleDbParameter[];
pm[] = new OleDbParameter("@a",TextBox1.Text);
pm[] = new OleDbParameter("@b",TextBox2.Text);
pm[] = new OleDbParameter("@c",TextBox3.Text);
foreach (OleDbParameter item in pm)
{
cmd.Parameters.Add(item);
}
int i = cmd.ExecuteNonQuery();
conn.Close();
if (i>)
{
Response.Write("新增成功");
BindList();
}
else
{
Response.Write("新增失败");
}
}
//删除
protected void Button3_Click(object sender, EventArgs e)
{
Button bt= sender as Button;
string id = bt.CommandArgument; }
//编辑
protected void Button4_Click(object sender, EventArgs e)
{
string sql = "select * from [Sheet1$] where 编号=@a";
Button bt = sender as Button;
string id = bt.CommandArgument;
OleDbParameter pm = new OleDbParameter("@a", id);
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql,conn);
cmd.Parameters.Add(pm);
OleDbDataReader sdr = cmd.ExecuteReader();
bool b = sdr.Read();
if (b==true)
{
TextBox1.Text = sdr["编号"].ToString();
TextBox2.Text = sdr["姓名"].ToString();
TextBox3.Text = sdr["性别"].ToString();
}
conn.Close();
}
//提交
protected void Button5_Click(object sender, EventArgs e)
{
string sql = "update [Sheet1$] set 姓名=@b,性别=@c where 编号=@a";
OleDbParameter[] pm = new OleDbParameter[];
pm[] = new OleDbParameter("@a",TextBox1.Text);
pm[] = new OleDbParameter("@b",TextBox2.Text);
pm[] = new OleDbParameter("@c",TextBox3.Text); OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();
OleDbCommand cmd = new OleDbCommand(sql,conn);
foreach (OleDbParameter item in pm)
{
cmd.Parameters.Add(item);
}
int i = cmd.ExecuteNonQuery();
conn.Close();
if (i>)
{
BindList();
Response.Write("修改成功");
}
else
{
Response.Write("修改失败");
}
}
}
}
模板页显示Excel数据Gridview增删改查的更多相关文章
- Node.js + MySQL 实现数据的增删改查
通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...
- MVC模式:实现数据库中数据的增删改查功能
*.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...
- vue实现对表格数据的增删改查
在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...
- vue实现对数据的增删改查(CURD)
vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...
- 基于vue-easytable实现数据的增删改查
基于vue-easytable实现数据的增删改查 原理:利用vue的数据绑定和vue-easetable的ui完成增删改查 后端接口: 1.条件查询表中数据 http://localhost:4795 ...
- vue实现数据的增删改查
在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- Mybatis框架基于注解的方式,实对数据现增删改查
编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...
- dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)
jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...
随机推荐
- Perl中的替换(七)
在Perl中使用s///进行替换操作,与m//进行查找操作类似. s/with (\w+)/against $1's team/; ##第一个双斜线,表示被替代的文本.第二个双斜线,表示将替 ...
- 2. 星际争霸之php面向对象(二)
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- 记linux下使用create_ap 创建热点失败及解决(涉及rfkill)
先介绍一下 create_ap. 这是一个在linux中创建热点用的脚本, 托管在github中, https://github.com/oblique/create_ap/ 正文开始: 习惯了win ...
- 有关OpenGL着色语言(一)
刚接触OpenGL着色语言...,不定期增加内容 1.OpenGL着色语言(GLSL)是什么? 用于OpenGL的面向过程的高级着色语言,是近年来图形编程领域中出现的最重要的新型开发技术,使用Open ...
- SQL Server 最小化日志操作解析,应用
Sql Server 中数据库在BULK_LOGGED/SIMPLE模式下的一些操作会采用最小化日志的记录方式,以减小tran log落盘日志量从而提高整体性能. 这里我简单介绍下哪些操作在什么样的情 ...
- 视频处理控件TVideoGrabber部分技术问题解答
TVideoGrabber是一个功能全面.易于使用的视频捕捉工具和多媒体播放器,本文搜集了一些TVideoGrabber的技术问答,并针对于有的朋友遇到的疑难给出了解答. 一.在TVideoGrabb ...
- nginx 反向代理 和lvs负载均衡
nginx反向代理:用户请求nginx代理服务器然后代理服务器将用户请求转为服务器再由nginx代理服务器将服务器的响应反应给用户. lvs负载均衡:用户请求nginx代理服务器然后代理服务器将用户请 ...
- innodb的锁到底占用多少内存
举个简单的例子: CREATE TABLE `sample` ( `i` ) unsigned NOT NULL auto_increment, `j` ) default NULL, PRIMARY ...
- linux设备驱动归纳总结(三):7.异步通知fasync【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-62725.html linux设备驱动归纳总结(三):7.异步通知fasync xxxxxxxxxxx ...
- linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59417.html linux设备驱动归纳总结(三):2.字符型设备的操作open.close.rea ...