GridView 和 Access数据库实现数据绑定(asp.net)
前台代码:
<%@ 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)的更多相关文章
- ASP连接读写ACCESS数据库实例(转)
(一) 数据库的选择:有许多的数据库你可以选择,SQL SERVER.ACCESS(*.mdb).EXCEL(*.xls).FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储 ...
- ACCESS数据库注入
0X01 我们想来了解一下access数据库 Access注入是暴力猜解 Access数据结构(access只有一个数据库) Access数据库 表名 列名 数据 没有库这个概念 只有表这个概念 这应 ...
- 如何在Asp.net中备份Access数据库?
public void Create( string mdbPath ) { if( File.Exists(mdbPath) ) //检查数据库是否已存在 { thr ...
- asp.net连接SQL server,SQLLite,Oracle,Access数据库
asp.net中连接数据库有两种方式为appSettings和connectionStrings connectionStrings比较常用,所以只讲一下connectionStrings方式的连接 ...
- ASP入门(二)-创建Access数据库
通常来说,ASP程序是搭配Access数据库来使用的,因此在安装完ASP环境后,为了方便建立和管理数据库,我们还需要安装Access数据库. Access是Microsoft Office家族中的一员 ...
- 用asp连接Access数据库 制作简单登陆界面
[题外话:最近做Internet作业,在这写一个适合初学入门的ASP连接ACCESS数据库做登陆界面的简单的例子,以慰藉我一口气把以前做过的系统中的PHP代码全改成ASP代码来临时应付作业的心情... ...
- asp.net mvc access数据库操作
连接access数据库其实也简单,只要按照mvc的模式来就可以,遵循c v约定就可以 既然渲染试图是强类型,那么取得的数据就转换成强类型,其他一切和asp.net操作一样 DB mydb = new ...
- ASP.NET中防止Access数据库下载
如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.这里我们给出几种在ASP.NET下防止Access数据库被下载的方法. 我们这里假设Access数据库名字为 test.mdb. ...
- asp.net连接Access数据库实现登陆功能
这里话就不多说了,直接演示代码. 连接access数据库首先需要配置web.config <appSettings> <add key="AccessConnString& ...
随机推荐
- Netty 5 传送大文件的方法
Netty 5 提供了 一个ChunkedWriterHandler 来传送大文件,发送端如下: 添加chunedwriterhandler: ChannelPipeline p = ...; p.a ...
- ContentProvider URI的组成
ContentProvider URI由哪几部分组成 ContentProvider URI与HTTP URI类似,由以下4部分组成: 1.content:// 相当于HTTP URI中的http ...
- phpcms v9教程 联动搜索在房地产网站开发中的应用
开发简述:使用phpcms v9系统,修改源文件5个,创建模型:楼盘.出售.出租.中介.小区,增加联动菜单:楼盘,增加用户组:房产中介.实现功能:游客发布信息.会员申请中介.楼盘全方位展示.报名团购. ...
- PHPCMS v9修改栏目或者单页没有权限
问题: 普通管理员没有权限修改栏目,只有超级管理员才有权限修改,凡是非超级管理员,设置栏目权限后只能添加栏目,不能对栏目进行修改和删除操作,提示您没有权限操作该项这使系统的一个BUG. 一.对于普 ...
- Unity3D 经验记录
1.using UnityEngine.SceneManagement; 当在01场景调用02场景时,再载入回01场景时,代码保存的变量不会初始化,预制物体脚本内的变量会初始化. 2.当子物体太多时, ...
- 转:40多个关于人脸检测/识别的API、库和软件
文章来自于:http://blog.jobbole.com/45936/ 自从谷歌眼镜被推出以来,围绕人脸识别,出现了很多争议.我们相信,不管是不是通过智能眼镜,人脸识别将在人与人交往甚至人与物交互中 ...
- mobile 测试入门思维导图
手机测试思维导图 ISO 测试思维导图 Android测试思维导图 原图出自:http://www.ministryoftesting.com/resources/mindmaps/
- Android判读是否安装了某一款APP
/** * @Title: isAvilible * @Description: 断手机已安装某程序 * @param @param context * @param @param packageNa ...
- 高性能的EMI滤波器及其小型化设计技术
1 EMI滤波器的常见问题及发展趋势首先介绍了影响EMI滤波器性能/体积的因素及EMI滤波器的常见问题:低频传导发射高.高频传导/辐射发射高.体积大,从而分析出EMI滤波器的发展趋势为高性能和小体积, ...
- Delphi IDHTTP用法详解(六种用法)
一.IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快.更节约资源,缺点是需要手动维护cook,连接等 IDHttp的创建,需要引入ID ...