VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 762|回复: 4

datagrid下删除数据库记录

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-19 18:00:01 | 显示全部楼层 |阅读模式
我在.aspx中定义好了如下的datagrid,其中的asp:ButtonColumn列用于删除数据。
<asp:datagrid id="datagrid1" runat="server" AllowPaging="True" PageSize="8" AutoGenerateColumns="False" DataKeyField="zt_No" Width="100%" EnableViewState="false" PagerStyle-Visible="false" OnDeleteCommand="datagrid1_DeleteCommand" OnPageIndexChanged="datagrid1_PageIndexChanged">
                                                                                                <EditItemStyle Width="3px" BackColor="#FFFF80"></EditItemStyle>
                                                                                                <Columns>
                                                                                                        <asp:BoundColumn DataField="zt_No" SortExpression="0" ReadOnly="True" HeaderText="编号"></asp:BoundColumn>
                                                                                                        <asp:BoundColumn DataField="zt_name" SortExpression="2" ReadOnly="True" HeaderText="姓名"></asp:BoundColumn>
                                                                                                        <asp:BoundColumn DataField="zt_sex" ReadOnly="True" HeaderText="性别"></asp:BoundColumn>
                                                                                                        <asp:HyperLinkColumn DataNavigateUrlField="zt_No" DataNavigateUrlFormatString="xiugai.aspx?zt_No={0}" DataTextField="zt_No" HeaderText="详细信息" DataTextFormatString="修改"></asp:HyperLinkColumn>
                                                                                                        <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
                                                                                                </Columns>

在.cs文件中的的delete事件定义如下:
protected void datagrid1_DeleteCommand(object source, DataGridCommandEventArgs e)
    {
        try
        {
            OleDbConnection cn = new OleDbConnection();
            cn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zt.mdb");
            string str = "delete zt where zt_No=@zt";
            OleDbCommand cm = new OleDbCommand(str, cn);
            cm.Parameters.Add("@zt", OleDbType.Integer);
            cm.Parameters["@zt"].Value = e.Item.Cells[0].Text.ToString();
            cn.Open();

            cm.ExecuteNonQuery();
            cn.Close();
            Bind();
        }
        catch (Exception ee)
        { Response.Write(ee.ToString()); }
    }

经过测试,数据肯定删除不成功,同时也不提示有任何错误,我感觉是点删除后根本就没驱动事件处理!在线等高人解决问题!谢了
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-8-26 13:00:01 | 显示全部楼层
你在Page_Load里如何绑定数据的?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-26 13:15:01 | 显示全部楼层
int id=Convert.ToInt32(e.Item.Cells[0].Text);
对他进行删除,方法跟其他删除一样
完了在绑定数据源
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-26 14:00:01 | 显示全部楼层
断点调试一下看是否执行了datagrid1_DeleteCommand事件。如果没执行,则在private void InitializeComponent()
                {   
//加入
                                                this.DataGrid1.DeleteCommand += new System.Web.UI.WebControls.DataGridItemEventHandler(this.datagrid1_DeleteCommand);
                }
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-26 16:00:01 | 显示全部楼层
把你的<asp:BoundColumn   DataField="zt_No"   SortExpression="0"   ReadOnly="True"   HeaderText="编号" > </asp:BoundColumn >
转化为模板看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表