用delphi做一管理软件,查询的时候是从数据库中的多个表读出,输入的时候由于数据量较大,采用DBGRID直接输入,用updateSQL组件回写,回写的SQL直接调用写好的存储过程,但不知为什么回写的时候总是失败(update failure),请各位大虾帮忙想想办法吧,看看有什么好办法,谢了

解决方案 »

  1.   

    怀疑是不是SQL影响的数据条数与当前client端DATASET中的数据改变不符合而造成失败,之前也写过直接在updatesql里调用存储过程,但这次不知为何写不进去
      

  2.   

    那请问有何办法实现如下表的转换?
    原表
      物品号  颜色号   尺码号   数量
          123      01        01      2
          123      01        02      4
          123      02        01      1
          123      02        02      5
          123      02        03      8
          123      02        04      1
          002      01        01      1
          002      01        02      5
          002      01        02      5
          003      01        01      2
          ..........尺码表
      尺码号 尺码名
       01   X
       02   XL
       03   XXL
       04   XXXL  临时表
      物品号  颜色号    X XL XXL XXXL  单位
         123      01        2   4   0    0   件
         123      02        1   5   8    1   件
         002      01        2   0   5    2   件
         003      01        0   9   0    4   件
         A23      02        0   0   8    5   件
         B23      01        2   0   7    0   件现在从原表读出到临时表已经没有问题,请问有什么办法可以把临时表中数据导成原表的结构?
      

  3.   

    不是,就是莫名其妙的修改失败,但把sql改成修改表的一般update [tablename] set...就可以,但要加上where ,不然也会出现一样的错,很奇怪
      

  4.   

    我现在做的是一个类似物品出入仓单据的东东,主表中一条数据对应子表中的N条物品记录,物品输入比较麻烦,而且要求要有上述临时表的格式,于是我通过存储过程把原表中的数据读出,通过query显示在DBGrid上,由于数据输入麻烦,所以客户要求直接在GRID里输入,本来按道理说通过updatesql组件可以更新读出来的数据并保存到表中,但不知为什么总是提示更新失败,请问各位大虾有什么好办法?我现在被逼只能去建临时表,苦啊~~