string sql_edit="update T_XG_JXJ set JXJLBM='"+jxjlb+"',JXJDJ='"+jxjdj+"',JXJJE='"+jxjje+"',HJNY='"+hjny+"',BZ='"+bz+"'' where XH='"+xh+"'";设置一断点在这里,调试,看看sql_edit是什么样的东东

解决方案 »

  1.   

    你在函数db.RunSQL(sql_edit);里面是不是有try{}catch{}???
    如果有就先去掉,就能看出错在哪里了。我觉得可能是类型不匹配,你都是存的TOString()类型,你的数据库中可能有别的类型,所以存不上,又有try{}catch{}, 所以没看到错误
      

  2.   

    string xh  = People.DataKeys[(int)e.Item.ItemIndex].ToString();
    改为
    string xh = People.DataKeys[(int)e.Item.ItemIndex].ToString().Trim();
    另,

    string sql_edit="update T_XG_JXJ set JXJLBM='"+ jxjlb+ "',JXJDJ='" + jxjdj+ "',JXJJE='" + jxjje+ "',HJNY='" + hjny + "',BZ='" + bz+ "'' where XH='"+ xh+"'";
    改为
    string sql_edit="update T_XG_JXJ set JXJLBM='"+ jxjlb+ "',JXJDJ='" + jxjdj+ "',JXJJE='" + jxjje+ "',HJNY='" + hjny + "',BZ='" + bz+ "' where XH='"+ xh+"'";试试。
    "'' where XH='"+ xh+"'";
    请注意,这里是你的源代码中的,好像where前面的'有两个,应该改成只有一个。
    其实,查错时,如果不能利用工具,就应该想想出现这样的问题,应该会是什么地方的问题。
    我看了你的问题和代码后,既然你能查询出数据并绑定至DataGrid,则说明你的数据库操作部分没有问题。比如,OperDB db = new OperDB(); db.RunSQL(sql_del);
    而更新时,因为指定了where子句,如果不能更新,说明,很有可能是没有找到指定的记录。
    然后,仔细一看,就发现多了个'号。
    看看,能不能解决你的问题。
    其实,try{}catch(){}也是很有用的,将你的操作代码放入try{}中,在catch(){}部分捕获Sql语句的异常,根据异常号,也可能判断是在哪里出问题的。关于Sql异常我也是在某个地方瞟到的,当时没注意,所以,具体的用法也不清楚。现在想来,应该有用。
      

  3.   

    chengsion,谢谢,更新问题解决,不过有个问题,我数据库里有两个主键,是不是不能更新其中的一个主键。
    另外怎么加个那个确定对话框,我那里加了没效果,呵呵!
    此外,我在删除的的时候需要根据那个条件确定一条记录,where XH='"+e.Item.Cells[0].Text+"'  and hjny=***   怎么取得值。我试了e.Item.Cells[2].Text,点了后不执行删除,大家帮忙看看,解决了,马上揭贴!!!!!
    等等等等!!!!!!!!!!!!!!!!!!!!!!
      

  4.   

    就是sqlserver呀。
    大家快帮忙呀!很晚了,俺还等着呢!!!!
      

  5.   

    public void People_Delete(Object sender, DataGridCommandEventArgs e) 
    {

    e.Item.Cells[6].Attributes.Add("onClick","return confirm('你确定要删除这一项吗?');");在这里加没有用,你都回访了,加进去没有,得在
    <asp:ButtonColumn Text="Delete" CommandName="Delete" onclick="ddd"></asp:ButtonColumn>
    试一下,
      

  6.   

    1.不知道在编辑里CreateDataSource()有什么用?
    2.把sql语句Response出来看看。
    3.删除提示框脚本要在开始(page_load)就注册。
      

  7.   

    http://expert.csdn.net/Expert/topic/2999/2999854.xml?temp=.1223261好象和这个问题是一样的
      

  8.   

    public void People_Delete(Object sender, DataGridCommandEventArgs e) 
    {

    e.Item.Cells[6].Attributes.Add("onClick","return confirm('你确定要删除这一项吗?');");在这里加没有用,你都回访了,加进去没有,得在
    <asp:ButtonColumn Text="Delete" CommandName="Delete" onclick="ddd"></asp:ButtonColumn>
    或者写在itemcreated事件里
      

  9.   

    大家帮忙,比如我要更新dardgrid里的一条记录,但是要取的两个列值来确定一定记录,该怎么分别取得我想要的第几列的值。比如第一列是
    xh =People.DataKeys[(int)e.Item.ItemIndex].ToString();
    但是我要取得第二列,第三列的值该怎么下???还有个问题,我更新的时候要把一个列值是dropdownlist,点修改后该怎么绑定到数据库里的值,且默认值是我修改前的值???等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等!
      

  10.   

    大家帮忙,比如我要更新dardgrid里的一条记录,但是要取的两个列值来确定一定记录,该怎么分别取得我想要的第几列的值。比如第一列是
    xh =People.DataKeys[(int)e.Item.ItemIndex].ToString();
    但是我要取得第二列,第三列的值该怎么下???还有个问题,我更新的时候要把一个列值是dropdownlist,点修改后该怎么绑定到数据库里的值,且默认值是我修改前的值???等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等!