标题:delphi 用table的locate 或是insert 时报错 operation not applicable
取消只看楼主
m_t2012
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2012-6-6
 问题点数:0 回复次数:1 
delphi 用table的locate 或是insert 时报错 operation not applicable
代码这样的:
    if  not  tblanswer.Active  then
    tblanswer.Open;
    tblanswer.Locate('RQ;DEPTID',vararrayof([zxRQ,tdept]),[]);
    tblanswer.Insert;
    tblanswer.FieldByName('RQ').AsDateTime:=zxRQ;
    tblanswer.FieldByName('DEPTID').AsString:=tdept;
    tblanswer.FieldByName('XSJE').AsCurrency:=tXSJE;
    tblanswer.FieldByName('JC').AsInteger:=tJC;
    tblanswer.FieldByName('bshow').AsInteger:=0;
    tblanswer.Post;
  end;
运行的第四局时报错,,郁闷啊 。。。是在找不到原因、、、、求帮助!!!!我刚申请的号分不多……
搜索更多相关主题的帖子: operation insert 
2012-06-06 17:45
m_t2012
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2012-6-6
得分:0 
函数的全部代码如下:
procedure  tblinsert(tdept:string;zxRQ:Tdatetime;tXSJE:currency;tJC:integer);
  begin
    if  not  tblanswer.Active  then
    tblanswer.Open;
    tblanswer.Locate('RQ;DEPTID',vararrayof([zxRQ,tdept]),[]);
    tblanswer.Insert;
    tblanswer.FieldByName('RQ').AsDateTime:=zxRQ;
    tblanswer.FieldByName('DEPTID').AsString:=tdept;
    tblanswer.FieldByName('XSJE').AsCurrency:=tXSJE;
    tblanswer.FieldByName('JC').AsInteger:=tJC;
    tblanswer.FieldByName('bshow').AsInteger:=0;
    tblanswer.Post;
  end;
调用函数的代码如下:
while  not  eof  do
         begin
            tblinsert(fieldbyname('DEPTID').AsString,fieldbyname('RQ').AsDateTime,fieldbyname('XSJE').AsCurrency,fieldbyname('JC').AsInteger);
            next;
         end;

求指导!!!!
2012-06-06 17:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-370951-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084732 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved