前台代码:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="主页.aspx.cs" Inherits="主页" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="Styles/main.css" rel="stylesheet" type="text/css" />
</head>
<body bgcolor="#ffffcc">
<form id="form1" runat="server">
<div style="font-family: 幼圆; font-size: larger; color: #FF00FF; height: 29px; width: 1340px;">
<asp:GridView ID="gvw" DataKeyNames="id" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True"
AutoGenerateSelectButton="True" DataSourceID="AccessDataSrc" Style="font-size: large"
Width="732px" OnRowUpdating="gvw_RowUpdating" OnRowDataBound="gvw_RowDataBound">
<Columns>
<asp:BoundField DataField="id" ReadOnly="true" InsertVisible="true" HeaderText="id" />
<asp:CommandField CancelText="取消" EditText="编辑" UpdateText="更新" DeleteText="删除" />
<asp:TemplateField HeaderText="编号" runat="Server" SortExpression="num">
<EditItemTemplate>
<asp:TextBox Text='<%# Bind("num") %>' ID="txtNum" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblNum" runat="server" Text='<%# Bind("num") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="姓名">
<EditItemTemplate>
<asp:TextBox Text='<%# Bind("name") %>' ID="txtName" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Bind("name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="性别">
<EditItemTemplate>
<asp:TextBox Text='<%# Bind("sex") %>' ID="txtSex" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblSex" runat="server" Text='<%# Bind("sex") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="联系方式" SortExpression="contact">
<EditItemTemplate>
<asp:TextBox Text='<%# Bind("contact") %>' ID="txtContact" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblContact" runat="server" Text='<%# Bind("contact") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="所在地">
<EditItemTemplate>
<asp:TextBox Text='<%# Bind("address") %>' ID="txtAddress" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblAddress" runat="server" Text='<%# Bind("address") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:LinkButton ID="lbtnAddNew" runat="Server" OnClick="lkbtnAddNew_Click">AddNew</asp:LinkButton>
<asp:Panel runat="server" ID="pnlAdd" Visible="false">
<table id="addNew">
<tr>
<td>
<label for="txtNum">
编号:</label>
</td>
<td>
<asp:TextBox ID="txtNum" runat="Server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<label for="txtName">
姓名:</label>
</td>
<td>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<label for="txtSex">
性别:</label>
</td>
<td>
<asp:TextBox ID="txtSex" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<label for="txtContact">
联系方式:</label>
</td>
<td>
<asp:TextBox ID="txtContact" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<label for="txtAddress">
住址:</label>
</td>
<td>
<asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
</td>
</tr>
</table>
<asp:LinkButton ID="lbtnConfirm" runat="Server" OnClick="btnConfirm_Click">Submit</asp:LinkButton>
<asp:LinkButton ID="lbtnCancel" runat="server" OnClick="btnCancel_Click">Cancel</asp:LinkButton>
</asp:Panel>
<asp:AccessDataSource ID="AccessDataSrc" runat="server" DataFile="~/website/App_Data/people2003.mdb"
SelectCommand="SELECT * FROM [t_01]" DeleteCommand="delete from [t_01] where id=@id"
InsertCommand="insert into [t_01]([num],[name],[sex],[contact],[address]) values(@num,@name,@sex,@contact,@address)">
<DeleteParameters>
<asp:Parameter Name="id" />
</DeleteParameters>
<InsertParameters>
<asp:ControlParameter ControlID="txtNum" Name="num" Type="String" PropertyName="Text" />
<asp:ControlParameter ControlID="txtName" Name="name" Type="String" PropertyName="Text" />
<asp:ControlParameter ControlID="txtSex" Name="sex" Type="String" PropertyName="Text" />
<asp:ControlParameter ControlID="txtContact" Name="contact" Type="String" PropertyName="Text" />
<asp:ControlParameter ControlID="txtAddress" Name="address" Type="String" PropertyName="Text" />
</InsertParameters>
</asp:AccessDataSource>
</div>
</form>
</body>
</html>

后台代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class 主页 : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
}
//update.
protected void gvw_RowUpdating(object sender, GridViewUpdateEventArgs e) {
AccessDataSrc.UpdateCommand = "update [t_01] set [num]=@num,name=@name,sex=@sex,contact=@contact,address=@address where [id]=@id"; string num = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtNum")).Text.Trim();
string name = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtName")).Text.Trim();
string sex = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtSex")).Text.Trim();
string contact = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtContact")).Text.Trim();
string address = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtAddress")).Text.Trim(); AccessDataSrc.UpdateParameters.Add("num", TypeCode.String, num);
AccessDataSrc.UpdateParameters.Add("name", TypeCode.String, name);
AccessDataSrc.UpdateParameters.Add("sex", TypeCode.String, sex);
AccessDataSrc.UpdateParameters.Add("contact", TypeCode.String, contact);
AccessDataSrc.UpdateParameters.Add("address", TypeCode.String, address);
AccessDataSrc.DataBind();
}
//Confirm to perform delete operation.
protected void gvw_RowDataBound(object sender, GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow) {
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) {
LinkButton btnDelete = (LinkButton)e.Row.Cells[].Controls[];
btnDelete.Attributes["onclick"] = "if(!confirm('Centain to delete?')) return false";
//var c = gvw.Rows[e.Row.RowIndex].Cells[0].Controls[0];
}
}
}
//Confirm to add new.
protected void btnConfirm_Click(object sender, EventArgs e) {
try {
AccessDataSrc.Insert();
txtNum.Text = "";
txtName.Text = "";
txtSex.Text = "";
txtContact.Text = "";
txtAddress.Text = "";
Response.Write("<script>alert('添加成功!')</script>");
}
catch (System.Exception ex) { }
}
//Cancel to add new.
protected void btnCancel_Click(object sender, EventArgs e) {
txtNum.Text = "";
txtName.Text = "";
txtSex.Text = "";
txtContact.Text = "";
txtAddress.Text = "";
pnlAdd.Visible = false;
lbtnAddNew.Visible = true;
}
//Add new.
protected void lkbtnAddNew_Click(object sender, EventArgs e) {
pnlAdd.Visible = true;
lbtnAddNew.Visible = false;
}
}

GridView 和 Access数据库实现数据绑定(asp.net)的更多相关文章

  1. ASP连接读写ACCESS数据库实例(转)

    (一)   数据库的选择:有许多的数据库你可以选择,SQL SERVER.ACCESS(*.mdb).EXCEL(*.xls).FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储 ...

  2. ACCESS数据库注入

    0X01 我们想来了解一下access数据库 Access注入是暴力猜解 Access数据结构(access只有一个数据库) Access数据库 表名 列名 数据 没有库这个概念 只有表这个概念 这应 ...

  3. 如何在Asp.net中备份Access数据库?

    public   void   Create(   string   mdbPath   ) { if(   File.Exists(mdbPath)   )   //检查数据库是否已存在 { thr ...

  4. asp.net连接SQL server,SQLLite,Oracle,Access数据库

    asp.net中连接数据库有两种方式为appSettings和connectionStrings connectionStrings比较常用,所以只讲一下connectionStrings方式的连接 ...

  5. ASP入门(二)-创建Access数据库

    通常来说,ASP程序是搭配Access数据库来使用的,因此在安装完ASP环境后,为了方便建立和管理数据库,我们还需要安装Access数据库. Access是Microsoft Office家族中的一员 ...

  6. 用asp连接Access数据库 制作简单登陆界面

    [题外话:最近做Internet作业,在这写一个适合初学入门的ASP连接ACCESS数据库做登陆界面的简单的例子,以慰藉我一口气把以前做过的系统中的PHP代码全改成ASP代码来临时应付作业的心情... ...

  7. asp.net mvc access数据库操作

    连接access数据库其实也简单,只要按照mvc的模式来就可以,遵循c v约定就可以 既然渲染试图是强类型,那么取得的数据就转换成强类型,其他一切和asp.net操作一样 DB mydb = new ...

  8. ASP.NET中防止Access数据库下载

    如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.这里我们给出几种在ASP.NET下防止Access数据库被下载的方法. 我们这里假设Access数据库名字为 test.mdb. ...

  9. asp.net连接Access数据库实现登陆功能

    这里话就不多说了,直接演示代码. 连接access数据库首先需要配置web.config <appSettings> <add key="AccessConnString& ...

随机推荐

  1. [置顶] 让你的Android应用与外部元素互动起来

    传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 一个Android应用程序通常有几个activities.每个act显示一个用户接口允 ...

  2. MySQL查询执行的基础

    当希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的.一旦理解这一点,很多查询优化实际上就是遵循一些原则让优化器能够按照预想的合理的方式运行. 换句话说,是 ...

  3. JavaScript:Object.prototype.toString方法的原理

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Obje ...

  4. 禁止ios默认拉动弹性行为

    document.ontouchmove = function(e) { e.preventDefault();} /** 禁止ios默认拉动弹性行为**///屏蔽ios下浏览器滚动缓冲效果

  5. Solr 单机配置

    一. 准备软件 提前安装好Java1.8和Tomcat9 下载Solr6.1,官网位置:http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/6 ...

  6. Android 部分属性学习

    android:imeOptions属性 谈一下个人的理解,设置软件盘中下一个/完成按钮的显示,如果需要监听软件盘中该按钮的事件,则需要实现 setOnEditorActionListener 其实, ...

  7. Android菜单详解(一)——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

  8. 基础 ADO.NET 访问MYSQL 与 MSSQL 数据库例子

    虽然实际开发时都是用 Entity 了,但是基础还是要掌握和复习的 ^^ //set connection string, server,database,username,password MySq ...

  9. B450配置

    电脑型号 联想 B450 笔记本电脑  (扫描时间:2015?5?7?操作系统 Windows 7 旗舰版 32位 SP1 ( DirectX 11 ) 处理器 英特尔 酷睿2 双核 T9800 @ ...

  10. 转自http://blog.sina.com.cn/daylive——C++ STL set&multiset

    C++ STL set和multiset的使用 1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就  像一个集合一样.所有的操作的都是严格在logn时间 ...