为什么我删除dbgrid中的一行数据,在dbgrid中显示已经删除了,但刷新dbgrid并没有真正删除,记录还存在,不明白这是什么问题,
删除我是这样写的,dbgrid我设置了只读。  with dm.Q_HYXX do
    begin
      if application.MessageBox('确定要删除该条记录吗?','警告',mb_yesno) = ID_yes then
        begin
          if dm.Q_HYXX.FieldByName('HY_ID').AsString = '' then
            showmessage('记录为空,无法删除!')
          else
            begin
              datasource1.DataSet.Delete;
            end;
         end;
     end;

解决方案 »

  1.   

      with dm.Q_HYXX do
        begin
          if application.MessageBox('确定要删除该条记录吗?','警告',mb_yesno) = ID_yes then
            begin
              if FieldByName('HY_ID').AsString = '' then
                showmessage('记录为空,无法删除!')
              else
                begin
                  Delete;
                end;
             end;
         end;
      

  2.   

    是否采用了 缓存更新? 如开启了cacheUpdate,若是,应还要调用applyupdate之类的方法
      

  3.   

    我query组件的locktype属性设置为ltBatchOptimistic其他的都是默认
      

  4.   

    ltBatchOptimistic,批量更新,这个当时只是更新到了内存
      

  5.   

    请教bdmh该如何更新到数据库呢?
      

  6.   

    query组件UpdateBatch()一下就可以了,哈哈!