注册 登录
编程论坛 Delphi论坛

delphi 用table的locate 或是insert 时报错 operation not applicable

m_t2012 发布于 2012-06-06 17:45, 1587 次点击
代码这样的:
    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;
运行的第四局时报错,,郁闷啊 。。。是在找不到原因、、、、求帮助!!!!我刚申请的号分不多……
1 回复
#2
m_t20122012-06-06 17:56
函数的全部代码如下:
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;

求指导!!!!
1