GridView 和 Access数据库实现数据绑定(asp.net)

时间:2021-12-27 03:08:53

前台代码:

 <%@ 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&period;net中备份Access数据库&quest;

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

  4. asp&period;net连接SQL server&comma;SQLLite&comma;Oracle&comma;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&period;net mvc access数据库操作

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

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

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

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

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

随机推荐

  1. robotframework笔记22

    创建测试库 支持的编程语言 机器人框架本身是用写的 Python 和自然的测试 库扩展它可以使用相同的实现 语言. 运行时框架上 Jython ,图书馆也可以 实现使用 Java . 纯Python代 ...

  2. Delphi的&quot&semi;Invalid pointer operation&quot&semi;异常的解决办法

    今天用Delphi编写了个dll,用到了TStringList来传递多参数,如下: [delphi] view plaincopy 01.function DBM_SetParam(procName: ...

  3. SQL Server2012数据库的备份和还原

    一.数据库的备份: 1.选择要备份的数据库“accountInfo”,点击鼠标右键 → 任务 → 备份 2.在打开的“备份数据库 —accountInfo”对话框中,先点击删除,然后点击“添加” 3. ...

  4. NOI2019十二省联考旅游记

    真的是去旅游的啊,毕竟菜是原罪嘛 Day 0 去指定地点试机,果然,键盘还是一如既往的不好用,我也不知道为什么. 晚上,教练请吃自助餐,幸福的像个胖子 Day 1 早上坐车过去,在车上看了看原来写过的 ...

  5. httpd基于域名虚拟主机配置

    什么是虚拟主机 在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录. httpd支持多种方式的虚拟主机的配置,主要有以下种: 基于IP ...

  6. kali linux安装中文输入法

    1.先安装VMware虚拟机,再安装kali linux ------------------------------------------------------------------ 2.安装 ...

  7. Tomcat启动错误一例org&period;apache&period;catalina&period;core&period;StandardContext resources Start Error starting static Resources

    org.apache.catalina.core.StandardContext resources Start Error starting static Resources 引发原因:Eclips ...

  8. Xcode编辑器之基本使用&lpar;一&rpar;

    前言. 苹果原生xcode使用介绍文档 1.Xcode IDE概览 说明: 从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码 ...

  9. CSS&vert; table property

  10. 微软在线实验室启用谷歌的reCAPTCHA,我们又丢失了一个好东东

    在没有启用reCAPTCHA的日子,我们可以在微软的在线实验室www.microsoft.com/handsonlabs 中找到许许多多的文档.视频.动手实验环境. 不需要任何硬件.技术,就可以快速的 ...