<%@ 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>
性别:&nbsp;<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>
&nbsp;</p>
<p>
&nbsp;</p>
<p>
&nbsp;</p>
<p>
&nbsp;</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增删改查的更多相关文章

  1. Node.js + MySQL 实现数据的增删改查

    通过完成一个 todo 应用展示 Node.js + MySQL 增删改查的功能.这里后台使用 Koa 及其相应的一些中间件作为 server 提供服务. 初始化项目 $ mkdir node-cru ...

  2. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  3. vue实现对表格数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  4. vue实现对数据的增删改查(CURD)

    vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...

  5. 基于vue-easytable实现数据的增删改查

    基于vue-easytable实现数据的增删改查 原理:利用vue的数据绑定和vue-easetable的ui完成增删改查 后端接口: 1.条件查询表中数据 http://localhost:4795 ...

  6. vue实现数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  7. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  8. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

  9. dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)

    jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...

随机推荐

  1. Javascript中函数及变量定义的提升

    <html> <head> <title>函数提升</title> <script language="javascript" ...

  2. RobotFramework 安装配置(二)

    前面已经写了一篇关于RF的安装配置了,那是在做自动化工具调研的时候搭建RF总结的,基于win32的系列软件安装的过程.经过1个月的调研,做成了demo,也大致学RF的使用和python的基础语法,暂时 ...

  3. 【转】“C语言说到底是一门以内存为中心的编程语言” —— 这种说法正确吗?

    转自:http://weibo.com/1005903613/AAgqA3kb4  LAW张粑粑的微博

  4. Job类

    当我们在写MapReduce程序的时候,通常,在main函数里,我们会像下面这样做.建立一个Job对象,设置它的JobName,然后配置输入输出路径,设置我们的Mapper类和Reducer类,设置I ...

  5. 【海岛帝国系列赛】No.5 海岛帝国:独立之战

    50229234海岛帝国:独立之战 [试题描述] 恐怖分子多年来一直如饥似渴地渴求“药师傅”帝国,但是,“里脊肉”BANNIE时刻在守护着这一方水土.从而使帝国日益强大.如今,BANNIE由于在 “牡 ...

  6. RMQ(非log2储存方法)

    2016-03-31 RMQ 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 长度为n的数列A,以及q个询问,每次询问一段区间 ...

  7. bug的约束

    1.bug的标题:主模块-子模块-页面-功能描述-bug的描述

  8. viewpager viewpager+fragment

    内页面  不单写页面   viewpager+布局 import java.util.ArrayList; import java.util.List; import android.os.Bundl ...

  9. android 学习随笔十(网络:get、post提交数据)

    1.get public class Tools { public static String getTextFromStream(InputStream is){ byte[] b = new by ...

  10. jQuery DataTable-JavaScript API

    虽然大多数时候你的Javascript交互将通过使用datatable初始化对象作为描述在使用这个网站的部分,有时,你会发现它有用一些外部控制表.可以使用以下函数从jQuery.dataTable对象 ...