test18.aspx:<%@ Page Language="C#"%><%@ Import namespace="System.Data" %><%@ Import Namespace="System.Data.OleDb" %><html><head><script language="C#" runat="server">private void Page_Load(Object Src, EventArgs E) { if (!IsPostBack) BindGrid();}private void Add_Click(Object sender, EventArgs E) { string connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("test.mdb"); string insertCmd = "INSERT INTO [dept](dept_id,dept_name) VALUES (@dept_id,@dept_name)"; OleDbConnection myConnection = new OleDbConnection(connStr); OleDbCommand myCommand = new OleDbCommand(insertCmd, myConnection); myCommand.Parameters.Add(new OleDbParameter("@dept_id", OleDbType.Integer)); myCommand.Parameters.Add(new OleDbParameter("@dept_name",OleDbType.VarChar)); myCommand.Parameters["@dept_id"].Value = dept_id.Value; myCommand.Parameters["@dept_name"].Value = dept_name.Value; myConnection.Open(); try { myCommand.ExecuteNonQuery(); Message.Style["color"] = "blue"; Message.InnerHtml = "添加数据:数据已成功的加入数据库"; } catch (System.Exception e) { Message.Style["color"] = "red" ; Message.InnerHtml = "ERROR: " +e.ToString(); } myConnection.Close(); BindGrid();} private void MyDataGrid_Delete(Object sender, DataGridCommandEventArgs E) { try{ string connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("test.mdb"); String deleteCmd = "delete from dept where dept_id = @dept_id"; OleDbConnection myConnection = new OleDbConnection(connStr); OleDbCommand myCommand = new OleDbCommand(deleteCmd, myConnection); myCommand.Parameters.Add(new OleDbParameter("@dept_id", OleDbType.Integer)); myCommand.Parameters["@dept_id"].Value =MyDataGrid.DataKeys[E.Item.ItemIndex]; myConnection.Open(); try { myCommand.ExecuteNonQuery(); Message.Style["color"] = "blue"; Message.InnerHtml = "删除数据:数据已成功删除"; } catch (System.Exception e) { Message.Style["color"] = "red" ; Message.InnerHtml = "ERROR: " +e.ToString(); } myConnection.Close(); MyDataGrid.EditItemIndex = -1; BindGrid(); } catch (System.Exception e) { Message.Style["color"] = "red" ; Message.InnerHtml = "ERROR: " +e.ToString(); }} private void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs E) { try{ MyDataGrid.EditItemIndex = E.Item.ItemIndex; BindGrid(); } catch (System.Exception e) { Message.Style["color"] = "red" ; Message.InnerHtml = "ERROR: " +e.ToString(); }} private void MyDataGrid_Cancel(Object sender, DataGridCommandEventArgs E) { try{ MyDataGrid.EditItemIndex = -1; BindGrid(); } catch (System.Exception e) { Message.Style["color"] = "red" ; Message.InnerHtml = "ERROR: " +e.ToString(); }} private void MyDataGrid_Update(Object sender, DataGridCommandEventArgs E) { try{ if (Page.IsValid) { string updateCmd = "update dept set dept_name = @dept_name where dept_id = @dept_id"; string connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("test.mdb"); OleDbConnection myConnection = new OleDbConnection(connStr); OleDbCommand myCommand = new OleDbCommand(updateCmd, myConnection); myCommand.Parameters.Add(new OleDbParameter("@dept_name", OleDbType.VarChar)); myCommand.Parameters.Add(new OleDbParameter("@dept_id", OleDbType.Integer)); myCommand.Parameters["@dept_id"].Value = MyDataGrid.DataKeys[(int)E.Item.ItemIndex]; myCommand.Parameters["@dept_name"].Value = ((TextBox)E.Item.FindControl("edit_dept_name")).Text; myConnection.Open(); try { myCommand.ExecuteNonQuery(); Message.Style["color"] = "blue"; Message.InnerHtml ="更新数据:数据已成功更新"; } catch (System.Exception e) { Message.Style["color"] = "red" ; Message.InnerHtml = "ERROR: " +e.ToString(); } myConnection.Close(); MyDataGrid.EditItemIndex = -1; BindGrid(); } } catch (System.Exception e) { Message.Style["color"] = "red" ; Message.InnerHtml = "ERROR: " +e.ToString(); }} private void BindGrid() { try{ string connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source="+Server.MapPath("test.mdb"); OleDbConnection myConnection = new OleDbConnection(connStr); OleDbDataAdapter myCommand = new OleDbDataAdapter("select dept_id,dept_name from dept ", myConnection); DataSet ds = new DataSet(); myCommand.Fill(ds, "dept"); MyDataGrid.DataSource=ds.Tables["dept"].DefaultView; MyDataGrid.DataBind(); } catch (System.Exception e){ Message.Style["color"] = "red"; Message.InnerHtml = "ERROR:"+e.ToString(); }}</script></head><body style="font: 10pt verdana"><form runat="server" ><table width=100% cellspacing=0 cellpadding=0><tr> <td class="CONTENTTITLE" width="100%" bgcolor="D3C9C7"> 向ACCESS数据库中添加、删除、更新数据 <asp:RequiredFieldValidator ControlToValidate="dept_id" Display="Static" ErrorMessage="*:部门代码不可空白" runat=server/> <asp:RequiredFieldValidator ControlToValidate="dept_name" Display="Static" ErrorMessage="*:部门名称不可空白" runat=server/> </td></tr></table><table style="font: 8pt verdana"> <tr> <TD VALIGN="top" ALIGN="left">部门代码:<input type="text" id="dept_id" value="" runat="server"> 部门名称:<input type="text" id="dept_name" value="" runat="server"> <input type="submit" OnServerClick="Add_Click" value="添加" runat="server"></TD> </TR> </table> <ASP:DataGrid id="MyDataGrid" runat="server" BackColor="#F4FFF4" BorderColor="black" ShowFooter="false" CellPadding=3 CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="lightblue" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnDeleteCommand="MyDataGrid_Delete" OnUpdateCommand="MyDataGrid_Update" DataKeyField="dept_id" AutoGenerateColumns="false" > <Columns> <asp:EditCommandColumn EditText="修改" CancelText="取消" UpdateText="保存" ItemStyle-Wrap="false" ButtonType="PushButton" /> <asp:ButtonColumn Text="删除" CommandName="Delete" ButtonType="PushButton" /> <asp:BoundColumn HeaderText="部门代码" Readonly="True" DataField="dept_id" /> <asp:TemplateColumn HeaderText="部门名称" SortExpression="dept_name"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "dept_name") %>'/> </ItemTemplate> <EditItemTemplate> <nobr> <asp:TextBox runat="server" id="edit_dept_name" Text='<%# DataBinder.Eval(Container.DataItem, "dept_name") %>'/> <asp:RequiredFieldValidator id="dept_name_ReqVal" ControlToValidate="edit_dept_name" Display="Dynamic" Font-Name="Verdana" Font-Size="12" runat=server> * </asp:RequiredFieldValidator> </EditItemTemplate> </asp:TemplateColumn> </Columns> </ASP:DataGrid><table><tr> <td> <span id="Message" EnableViewState="false" class="MESSAGE" runat="server"/> </td> </tr></table></form></body></html>数据库:TEST.MDB,同上一贴。

评论