为什么
with table do
begin
   first;
   setkey;
   fieldbyname('主题') := title;
   if gotokey then
   begin
     ...
   end;
end;
此查找过程在装有delphi7.0的机子上运行没问题,而在没装delphi但装有BDE的机子上运行会报错:
"表不在insert or Edit模式"可我并没有用到insert或edit,为什么会这样?而且table1属性应该设置都正确的
一步步看了下,执行到'fieldbyname('主题') := title这一句时出错,我怀疑出错时setkey并没执行成功,会不会是bde问题,实在找不出有什么错误,请大家指教...

解决方案 »

  1.   

    fieldbyname('主题').asString:= title;
      

  2.   

    不好意思刚打错了,我程序里用的就是fieldbyname('主题').asString:= title;
      

  3.   

    fieldbyname('主题').asString:= title这就是在修改表
    要修改表,表必须先处在insert或edit状态!可以在fieldbyname('主题').asString:= title前面加句edit;
      

  4.   

    我在前面不加edit这一句
    为什么在装有delphi机子上能运行,而在只有bde没有delphi的机子上不能运行?
    是不是需要设置bde,该怎么设?还是有别的错误原因?
    另外加了edit后还是会报错
      

  5.   

    错误:Dataset not in edit or insert mode