我写了一句sql的update语句。但数据库数据不变,说明adocommand不执行。为什么?在线等...

解决方案 »

  1.   

    在查询分析器中执行你的SQL语句。
      

  2.   

    SQLStr := 'update tempdbzbfz' + dwdh_cw + ' set k_jd=''1'' where k_ykmdh in (select k_kmdh from zw_kmzh'+dwdh_cw+'nh2002 where k_jdfx=''1'')';
      ADOCommand.CommandText := SQLStr;
      ADOCommand.Execute;而且,有时执行,有时不执行!?
      

  3.   

    + dwdh_cw + 是什么东西?
      

  4.   

    把SQL语句帖出来?你贴这个也不管用啊。
      

  5.   

    这不会是adocommand不执行,请检查你的sql语句,单步到execute前然后看看SQLstr的内容是什么。
      

  6.   

    如果你的select k_kmdh from zw_kmzh'+dwdh_cw+'nh2002 where k_jdfx=''1'' 检索不到数据肯定就不会更新任何数据了
      

  7.   

    不好意思,出去了一下,再问:
    SqlStr := 'update zw_pzc0320700ss2002 set k_nian='2002',k_pzzl='5',k_lsh=1,k_kjh=1,k_zy='2002年02月财务剥离转帐',k_bm='0701',k_pzbm='0701',k_fj=0,k_cwfzr='朱  雷',k_zz='a',k_fhf='2',k_gzfh='2',k_b='2' where  k_nian=null';
    这是Sql没错,我已经测过了,但ADOCommand不执行,好像是ADOCommand.Commandtext := '';