谁能告诉我为什么DataGrid中的记录删除不了??昨天搞了一天了

主  题:  谁能告诉我为什么DataGrid中的记录删除不了??昨天搞了一天了
作  者:  yong427 (海盗)
等  级:  ^^
信 誉 值:  100
所属论坛:  .NET技术 C#
问题点数:  100
回复次数:  7
发表时间:  2003-9-28 9:34:34

代码如下:

private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
    //ConnectData 是我自己写的一个对数据库操作的类,与本问题无关
    ConnectData cd = new ConnectData();
    string strTem = DataGrid1.Items[(int)e.Item.ItemIndex].Cells[0].Text;
    string strName = DataGrid1.Items[(int)e.Item.ItemIndex].Cells[1].Text;

    if(strName == "")
    {
        //OperateDataBase是我自定义的一个函数,与该问题无关,是执行SQL语句,对数据库操作
        cd.OperateDataBase("delete from members where team_code = '"+strTem+"' and mem_Name =''");
    }
    else
    {
        cd.OperateDataBase("delete from members where team_code ='"+strTem+"' and mem_chname ='"+strName+"'");
    }

    cd.ConnectDataBase("select * from members",ds);
    DataGrid1.EditItemIndex = -1;
    DataGrid1.DataSource = ds;
    DataGrid1.DataBind();
}

现在的问题是,当DataGrid中的某一行的第二列的值为空(即从数据库中读出的这一值为空时),无论怎样执行下面语句都不成功 cd.OperateDataBase("delete from members where team_code ='"+strTem+"' and mem_chname =''");只是执行了 cd.OperateDataBase("delete from members where team_code ='"+strTem+"' and mem_chname ='"+strName+"'"); 我用Label捕获得到strName为空值,但是strName.Length=6,不知道为什么?



回复人: yong427(海盗) ( 二级(初级)) 信誉:100 2003-9-28 9:51:33 得分:0

自己up

回复人: wjhs(杰借) ( 二级(初级)) 信誉:100 2003-9-28 9:59:04 得分:5

你刷新一下数据源,就能删掉啦。

回复人: realMAX(不让我的眼泪陪我过夜) ( 四级(中级)) 信誉:100 2003-9-28 10:05:03 得分:5

刷新数据源

回复人: soulroom(易水之风) ( 二级(初级)) 信誉:100 2003-9-28 10:07:45 得分:45

不用谢了

回复人: soulroom(易水之风) ( 二级(初级)) 信誉:100 2003-9-28 10:08:57 得分:40

不用谢了

回复人: Soking(Soking) ( 五级(中级)) 信誉:100 2003-9-28 10:09:26 得分:5

如果某一行的第二列的值为空null,那么你生成的删除语句肯定不能满足你的要求,
解决方法是在生成sql以前,叛断列的值是否为空,然后重新生成sql语句

回复人: cxfidc() ( 一级(初级)) 信誉:99 2003-09-28 10:13:00 得分:0

你数据库中的strName的类型是什么的呢??

如果是char(6)则会发生上面的问题.
请确认类型是否为varchar(6)

或者改成
if(strName.Trim() == "")

回复人: Maker(向你敬礼!!!) ( 一级(初级)) 信誉:100 2003-09-28 10:19:00 得分:0

up

该问题已经结贴 ,得分记录: wjhs (5)、 realMAX (5)、 soulroom (45)、 soulroom (40)、 Soking (5)、

Contributors: FHL