我用adotable 的Insert命令后,但表还是不能进入Insert的状态,这是为什么?
我是在一个按键的OnClick事件中加入了以下的代码:
  gsmk.gtda.Active := true;
  gsmk.gtda.Insert;
但按下按键后表并没进入插入状态,要再按多一至两次才能进入插入状态,请各位大侠帮忙指点一下。

解决方案 »

  1.   

    gsmk.gtda.Active := true;//这句放在别的地方你又没有判断,怎么知道没有处在插入模式?
    gsmk.gtda.Insert;
    if gsmk.gtda.Status in [dsInsert] then
    showmessage('Insert Status');
      

  2.   

    是的你就是直接的
    gsmk.gtda.Insert;就是可以的了 然后插入数据 就可以了
    或者gsmk.gtda.append也是可以的
      

  3.   

    If Not gsmk.gtda.active then
      gsmk.gtda.Active:=True;
    Gsmk.Gtda.insert;
      

  4.   

    adotable1.edit;没有处于编辑状态了
      

  5.   

    如果不要这句gsmk.gtda.Active := true;系统就会报"Cannot perform this operation on a closed dataset",我用 
       if gsmk.gtda.State=dsInsert then
        begin
          showmessage('gtda.Insert');
        end;
    来查看是否在插入状态时发现表并没有在插入状态。我用gsmk.gtda.append也一样,我按了插入键后表还是停留在当前状态。急死了,各位再指点一下,以前并没有出现这个情况,是我改用了delphi7.0后我才发现的,是不是用D版的问题。
      

  6.   

    If Not gsmk.gtda.active then
      gsmk.gtda.Active:=True;
    Gsmk.Gtda.insert;