注册 登录
编程论坛 ASP技术论坛

ASP.NET C# DataGrid里如何实现删除

b25921 发布于 2009-07-29 11:48, 690 次点击
我想在DataGrid里点一下删除就能删除一行
但是点完之后没有反映……
求人帮忙解决
先谢谢了


附上代码:
public void MyDataGrid_Delete(Object sender, DataGridCommandEventArgs e)
        {
            //建立数据库连接
            OleDbConnection myConnection = new OleDbConnection("Provider=sqloledb;server=(local);database=information;uid=sa;pwd=sa");
            //定义删除SQL语句
            String deleteCmd = "delete from Content where id = @id";
            OleDbCommand myCommand = new OleDbCommand(deleteCmd, myConnection);
            myCommand.Parameters.Add(new OleDbParameter("@id", OleDbType.Char, 11));
            myCommand.Parameters["@id"].Value = MyList.DataKeys[(int)e.Item.ItemIndex];

            myCommand.Connection.Open();

            try
            {
                myCommand.ExecuteNonQuery();

            }
            catch (OleDbException)
            {

            }

            myCommand.Connection.Close();
            //重新绑定数据,并显示
            DataBind();
        }

下面是图片:
只有本站会员才能查看附件,请 登录


[[it] 本帖最后由 b25921 于 2009-7-29 11:49 编辑 [/it]]
3 回复
#2
yms1232009-07-29 11:54
首先要得到要删除行的编号字段(也就是主键字段)的值再进行删除。
#3
b259212009-07-29 13:44
回复 2楼 yms123
那么
我应该怎么做呢?
能不能把代码写出来?谢谢!
我是新手,实在不知道怎么解决了~~~~谢谢了!!
#4
yms1232009-07-29 16:40
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
    //在DataGrid1的删除事件中用e.Item.Cells[0].Text获得某列的值,用这个值做SQL语句删除即可这里的0就是第一列。
}
1