正文

对数据库的添加、删除、更新操作的简单例子 2006-05-15 09:57:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/otot/14082.html

分享到:

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数据库中添加、删除、更新数据
   &nbsp;<asp:RequiredFieldValidator ControlToValidate="dept_id" Display="Static" ErrorMessage="*:部门代码不可空白" runat=server/>
   &nbsp;<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>
                    &nbsp;*
            </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,同上一贴。

阅读(4040) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册