我用Delphi的Table组件(BDE的)
在如下操作之后:
Active:=True;
Edit;
Append;
FieldValues['xx']:='yy';
Post;
Active:=False;运行成功,可是为什么数据库中该记录并没有添加进去呢?
数据苦是MS SQL SERVER.
如果用TQuery组件,执行SQL语句:insert into table(field1,field2) values('field1','field2')是可以的 很疑惑?

解决方案 »

  1.   

    改用fieldbyname('xx').asstring:='YY';
    试试。
      

  2.   

    append 之后会自动更新,如果你要用POST的话,你要先让他的状态在INSERT 或则EDIT
      

  3.   

    问题不是上述所产生的,到现在为止还是没有解决!
    都试过了,我重新建立一个Project,发现用什么办法()都可以向表里插入数据,可是我
    正在作的这个项目就不行 我FT!
      

  4.   

    Active:=True;
    Edit;
    Append;
    FieldValues['xx']:='yy';
    Post;
    Active:=False;
    1。edit是编辑原有数据,append 是在数据库后追加数据记录
    2。post;
       refresh;
    然后active 最好不要设置位false;
      

  5.   

    你的table数据组件属性是不是设置成了静态数据,只是存在了客户端,并没有真正的提交到数据库服务器,或者启动了数据库事务,而最后事务没有提交?单独从上面的代码来看没有任何问题,肯定可以存进数据库,就是奇怪为什么edit后append?有什么作用呢?
    看看有没有设置缓存更新数据?或者其他的属性?或者database.starttransaction或者其他
      

  6.   

    table1.close;
    table1.open;

    table1.refresh;
    刷新数据 或 字段长度不同吧
      

  7.   

    还有要记住,EDIT不需要,如果APPEND的话,