没有更新的原因时
1。你没有及时刷新你的数据。
2。你的SQL语句WHERE后面的条件出来后肯能是空记录。

解决方案 »

  1.   

    where 后面的条件没错,因退出DELPHI后再进入就改变了。
      

  2.   

    IF 你的DBGRID联的是执行 UPDATE... 的那个QUERY THEN
    加入SQL语句到这个QUERY,然后OPEN,别忘了先CLEAR。
    ELSE
    把DBGRID联的那个QUERY先CLOSE,再OPEN就行了。
      

  3.   

    那是你没有刷新你的QUERY。在更新代码后插入如下代码
    with query do
    begin
         close;
         sql.clear;
         sql.add('select * from tcgmx ');
         open;
    locate('JHBH',jhbh1.text,[]);
    end;
      

  4.   

    那你用ADOTABLE的FILTER。
    其实为什么不用QUERY或ADOQUERY呢
      

  5.   

    update tcgmx set zt='已批准'  where  'trim('+jhbh+')' = '+jhbh1.text+'
    似乎有误
    应为:update tcgmx set zt='已批准'  where  'trim('+jhbh+')' = '+'+jhbh1.text'+'+'
    'trim('+jhbh+')' 有什么作用也不清楚
    当然,我不明白,你的作用
    只是一种想法,所以有可能,你查询结果会为空,用
    message(intToStr(sql1.recordcount))来显示,'recordcount'我记得不太清楚,反正查询结果放在SQL查询的那个数据集中
    第一次在论谈中写看法,感觉请支持我!顺便问一下,我为什么不能提问?
      

  6.   

    好象'trim('+jhbh+')' 用法也有误,请核对
      

  7.   

    在TQuery查询后的数据集中,不能修改数据,请各位大师明示
      

  8.   

    在sql server中只有ltrim和rtrim