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

前台代码:

  1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="主页.aspx.cs" Inherits="主页" %>
  2 
  3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4 <html xmlns="http://www.w3.org/1999/xhtml">
  5 <head runat="server">
  6     <title></title>
  7     <link href="Styles/main.css" rel="stylesheet" type="text/css" />
  8 </head>
  9 <body bgcolor="#ffffcc">
 10     <form id="form1" runat="server">
 11     <div style="font-family: 幼圆; font-size: larger; color: #FF00FF; height: 29px; width: 1340px;">
 12         <asp:GridView ID="gvw" DataKeyNames="id" runat="server" AllowPaging="True" AllowSorting="True"
 13             AutoGenerateColumns="False" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True"
 14             AutoGenerateSelectButton="True" DataSourceID="AccessDataSrc" Style="font-size: large"
 15             Width="732px" OnRowUpdating="gvw_RowUpdating" OnRowDataBound="gvw_RowDataBound">
 16             <Columns>
 17                 <asp:BoundField DataField="id" ReadOnly="true" InsertVisible="true" HeaderText="id" />
 18                 <asp:CommandField CancelText="取消" EditText="编辑" UpdateText="更新" DeleteText="删除" />
 19                 <asp:TemplateField HeaderText="编号" runat="Server" SortExpression="num">
 20                     <EditItemTemplate>
 21                         <asp:TextBox Text=<%# Bind("num") %> ID="txtNum" runat="server" />
 22                     </EditItemTemplate>
 23                     <ItemTemplate>
 24                         <asp:Label ID="lblNum" runat="server" Text=<%# Bind("num") %>></asp:Label>
 25                     </ItemTemplate>
 26                 </asp:TemplateField>
 27                 <asp:TemplateField HeaderText="姓名">
 28                     <EditItemTemplate>
 29                         <asp:TextBox Text=<%# Bind("name") %> ID="txtName" runat="server" />
 30                     </EditItemTemplate>
 31                     <ItemTemplate>
 32                         <asp:Label ID="lblName" runat="server" Text=<%# Bind("name") %>></asp:Label>
 33                     </ItemTemplate>
 34                 </asp:TemplateField>
 35                 <asp:TemplateField HeaderText="性别">
 36                     <EditItemTemplate>
 37                         <asp:TextBox Text=<%# Bind("sex") %> ID="txtSex" runat="server" />
 38                     </EditItemTemplate>
 39                     <ItemTemplate>
 40                         <asp:Label ID="lblSex" runat="server" Text=<%# Bind("sex") %>></asp:Label>
 41                     </ItemTemplate>
 42                 </asp:TemplateField>
 43                 <asp:TemplateField HeaderText="联系方式" SortExpression="contact">
 44                     <EditItemTemplate>
 45                         <asp:TextBox Text=<%# Bind("contact") %> ID="txtContact" runat="server" />
 46                     </EditItemTemplate>
 47                     <ItemTemplate>
 48                         <asp:Label ID="lblContact" runat="server" Text=<%# Bind("contact") %>></asp:Label>
 49                     </ItemTemplate>
 50                 </asp:TemplateField>
 51                 <asp:TemplateField HeaderText="所在地">
 52                     <EditItemTemplate>
 53                         <asp:TextBox Text=<%# Bind("address") %> ID="txtAddress" runat="server" />
 54                     </EditItemTemplate>
 55                     <ItemTemplate>
 56                         <asp:Label ID="lblAddress" runat="server" Text=<%# Bind("address") %>></asp:Label>
 57                     </ItemTemplate>
 58                 </asp:TemplateField>
 59             </Columns>
 60         </asp:GridView>
 61         <asp:LinkButton ID="lbtnAddNew" runat="Server" OnClick="lkbtnAddNew_Click">AddNew</asp:LinkButton>
 62         <asp:Panel runat="server" ID="pnlAdd" Visible="false">
 63             <table id="addNew">
 64                 <tr>
 65                     <td>
 66                         <label for="txtNum">
 67                             编号:</label>
 68                     </td>
 69                     <td>
 70                         <asp:TextBox ID="txtNum" runat="Server"></asp:TextBox>
 71                     </td>
 72                 </tr>
 73                 <tr>
 74                     <td>
 75                         <label for="txtName">
 76                             姓名:</label>
 77                     </td>
 78                     <td>
 79                         <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
 80                     </td>
 81                 </tr>
 82                 <tr>
 83                     <td>
 84                         <label for="txtSex">
 85                             性别:</label>
 86                     </td>
 87                     <td>
 88                         <asp:TextBox ID="txtSex" runat="server"></asp:TextBox>
 89                     </td>
 90                 </tr>
 91                 <tr>
 92                     <td>
 93                         <label for="txtContact">
 94                             联系方式:</label>
 95                     </td>
 96                     <td>
 97                         <asp:TextBox ID="txtContact" runat="server"></asp:TextBox>
 98                     </td>
 99                 </tr>
100                 <tr>
101                     <td>
102                         <label for="txtAddress">
103                             住址:</label>
104                     </td>
105                     <td>
106                         <asp:TextBox ID="txtAddress" runat="server"></asp:TextBox>
107                     </td>
108                 </tr>
109             </table>
110             <asp:LinkButton ID="lbtnConfirm" runat="Server" OnClick="btnConfirm_Click">Submit</asp:LinkButton>
111             <asp:LinkButton ID="lbtnCancel" runat="server" OnClick="btnCancel_Click">Cancel</asp:LinkButton>
112         </asp:Panel>
113         <asp:AccessDataSource ID="AccessDataSrc" runat="server" DataFile="~/website/App_Data/people2003.mdb"
114             SelectCommand="SELECT * FROM [t_01]" DeleteCommand="delete from [t_01] where id=@id"
115             InsertCommand="insert into [t_01]([num],[name],[sex],[contact],[address]) values(@num,@name,@sex,@contact,@address)">
116             <DeleteParameters>
117                 <asp:Parameter Name="id" />
118             </DeleteParameters>
119             <InsertParameters>
120                 <asp:ControlParameter ControlID="txtNum" Name="num" Type="String" PropertyName="Text" />
121                 <asp:ControlParameter ControlID="txtName" Name="name" Type="String" PropertyName="Text" />
122                 <asp:ControlParameter ControlID="txtSex" Name="sex" Type="String" PropertyName="Text" />
123                 <asp:ControlParameter ControlID="txtContact" Name="contact" Type="String" PropertyName="Text" />
124                 <asp:ControlParameter ControlID="txtAddress" Name="address" Type="String" PropertyName="Text" />
125             </InsertParameters>
126         </asp:AccessDataSource>
127     </div>
128     </form>
129 </body>
130 </html>

后台代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 
 8 public partial class 主页 : System.Web.UI.Page {
 9     protected void Page_Load(object sender, EventArgs e) {
10     }
11     //update.
12     protected void gvw_RowUpdating(object sender, GridViewUpdateEventArgs e) {
13         AccessDataSrc.UpdateCommand = "update [t_01] set [num]=@num,name=@name,sex=@sex,contact=@contact,address=@address where [id]=@id";
14 
15         string num = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtNum")).Text.Trim();
16         string name = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtName")).Text.Trim();
17         string sex = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtSex")).Text.Trim();
18         string contact = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtContact")).Text.Trim();
19         string address = ((TextBox)gvw.Rows[e.RowIndex].FindControl("txtAddress")).Text.Trim();
20 
21         AccessDataSrc.UpdateParameters.Add("num", TypeCode.String, num);
22         AccessDataSrc.UpdateParameters.Add("name", TypeCode.String, name);
23         AccessDataSrc.UpdateParameters.Add("sex", TypeCode.String, sex);
24         AccessDataSrc.UpdateParameters.Add("contact", TypeCode.String, contact);
25         AccessDataSrc.UpdateParameters.Add("address", TypeCode.String, address);
26         AccessDataSrc.DataBind();
27     }
28     //Confirm to perform delete operation.
29     protected void gvw_RowDataBound(object sender, GridViewRowEventArgs e) {
30         if (e.Row.RowType == DataControlRowType.DataRow) {
31             if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) {
32                 LinkButton btnDelete = (LinkButton)e.Row.Cells[0].Controls[2];
33                 btnDelete.Attributes["onclick"] = "if(!confirm(‘Centain to delete?‘)) return false";
34                 //var c = gvw.Rows[e.Row.RowIndex].Cells[0].Controls[0];
35             }
36         }
37     }
38     //Confirm to add new.
39     protected void btnConfirm_Click(object sender, EventArgs e) {
40         try {
41             AccessDataSrc.Insert();
42             txtNum.Text = "";
43             txtName.Text = "";
44             txtSex.Text = "";
45             txtContact.Text = "";
46             txtAddress.Text = "";
47             Response.Write("<script>alert(‘添加成功!‘)</script>");
48         }
49         catch (System.Exception ex) {
50 
51         }
52     }
53     //Cancel to add new.
54     protected void btnCancel_Click(object sender, EventArgs e) {
55         txtNum.Text = "";
56         txtName.Text = "";
57         txtSex.Text = "";
58         txtContact.Text = "";
59         txtAddress.Text = "";
60         pnlAdd.Visible = false;
61         lbtnAddNew.Visible = true;
62     }
63     //Add new.
64     protected void lkbtnAddNew_Click(object sender, EventArgs e) {
65         pnlAdd.Visible = true;
66         lbtnAddNew.Visible = false;
67     }
68 }

 

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

上一篇:数据库中临时表,表变量和CTE使用优势极其区别


下一篇:面试前需要弄懂的SQL