我使用ACCESS,用ADOTable.insert,添加新的数据,但是在程序开始输入时,非得先按ADOTable.insert的按钮,然后输入才是插入的新数据,不先按直接输入变成了更新以前的数据了。如何改变?
谢谢!

解决方案 »

  1.   

    建议少用adotable,数据量大你就知道了。
      

  2.   

    ADOTable.insert后,把你的数据集close,再open
      

  3.   

    好像你是在DBGRID中操作的吧,你可以移到最后一条记录,然后按向下的方向键就是添加新记录了,否则就是修改记录
      

  4.   

    不是的。我是加个按钮(ADOTable.insert)的,siyu2002(bayer),具体怎么写代码?谢谢!我是个新手。
      

  5.   

    我没太看明白你的意思,你的意思是不是数据插入后刷新的问题?
    adotable.close;
    adotable.open;
    如果你的数据集是adotable,这就可以刷新
    你先试试,如果不行把你遇到的问题详细写出来,大家再一起探讨
      

  6.   

    你从哪里输入新插入的数据呢?
    如果是edit的话,那么
    procedure Tincreaseform.AddButtonClick(Sender: TObject);
    with ADOtable1 do
      begin
      try
       append;
       fieldbyname('stnName').asstring:=increaseform.edit1.text;
       fieldbyname('stnTelNo').asstring:=increaseform.edit2.text;
       ......
      except
       cancel;
       showmessage('存盘错误');
      end;
      

  7.   

    我是用ADOTable连接ACCESS数据库,插入新的数据用DBEDIT,DBCOMBOBOX,
    程序启动后,DBEDIT中要空的,然后点按钮确认插入新的数据。
    如何写按钮的事件?如何写DBEDIT为空?
    本人是新手!谢谢!
      

  8.   

    DBEdit1.Text:='';使DBEDIT为空
    在按钮的onclick事件中添加代码
      

  9.   

    to:silverwonder(刷卡太快请重刷) 
    要不要post呀?
      

  10.   

    如果DBEdit1.Text:='';这个编辑框就不能输入了。
    还有按钮的onclick如何写?谢谢!
      

  11.   

    你可以使用edit呀
    当然要post
    如果是edit的话,那么
    procedure Tincreaseform.AddButtonClick(Sender: TObject);
    begin 
      with ADOtable1 do
      begin
      try
       append;
       fieldbyname('stnName').asstring:=increaseform.edit1.text;
       fieldbyname('stnTelNo').asstring:=increaseform.edit2.text;
       ......
       post;
       showmessage('正确存盘');
      except
       cancel;
       showmessage('存盘错误');
      end;
      end;
    end;....
      

  12.   

    当DBEdit1.Text :='';时,就无法编辑了。请问如何填写代码?