我的实例是access+odbc+adoconnection+ado;
调测过程中有三台电脑(A、B、C);
其中A内有数据库,B为程序开发设计,C调试电脑;
当程序打开时,adoconnect都可正常连接,
其中A运行程序时不可对其中一个表进行添加记录的操作(只是这一个),并提“缺少更新或刷新的基本表消息”。
但是奇怪的是,我在开发过程中使用的都是B电脑,一切操作都是很正常的,并且尝试在C电脑运行也是正常的,真奇怪呢?
其中对表操作的代码如下:
  if combobox1.Text='' then exit;
  with bank_add.fm_main_add.tab_bank_main do
    begin
        append;
        fieldbyname('开户银行').AsString:=combobox1.Text;
        if labelededit1.Text<>'' then fieldbyname('支票号码').AsString:=labelededit1.Text;
        fieldbyname('制单日期').AsString:=dbdate;
        if labelededit3.Text<>'' then fieldbyname('对方单位').AsString:=labelededit3.Text;
        if labelededit2.Text<>'' then fieldbyname('摘要').AsString:=labelededit2.Text;
        post;
    end;
这段代码我验查了很多次,也看不出问题所在,能指点一下迷津吗?thank you verymuch!

解决方案 »

  1.   

    那些if语句中,最好还给个else吧,如果不满足条件也给个值试试
      

  2.   

    fieldbyname('制单日期').AsString:=dbdate; //是日期还是字符串
      

  3.   

    你建的表里有主建吗?我觉得可能是你的表的问题]。不行就用sql命令看看
      

  4.   

    我的表里面有主键,是自动增加的,所以没有增加记录时没有添加设置主键的值,但它可以自动生成的。
    而dbdate是一个记录登录日期的函数,属string;
    除主键和‘开户银行’的字段属至必填,其他的字段都是都不是必填,所以在if 语句后面都没有加else.