当然没有,我是在一个dbgrid控件中选择一条记录,然后按钮执行的操作
关键是我的查找方法正确与否,我单步运行到这个locate时就出错了

解决方案 »

  1.   

    dbGrid的数据源是谁啊,你对谁用locate啊!
    不会是querynotmember.Locate('userid',querynotmember.fieldbyname('userid').asinteger,[])吧
      

  2.   

    当然不是了
    with tbmember do begin
        if not locate('userid',querynotmember.fieldbyname('userid').asinteger,[]) then
        begin
         append;
         tbmember.Append;
         tbmember.FieldByName('userid').asinteger:=
           querynotmember.FieldByName('userid').asinteger;
           post;
        end;
       end;
    tbmember是一个table控件,连接一个表,其中当然有userid这个字段
      

  3.   

    首先看querynotmember中有没有这个字段。如果有,那么看看querynotmember是不是打开的。
      

  4.   

    有这个字段而且打开了的啊,用dbgrid显示出来了的
      

  5.   

    搞定了,各位兄弟,原来我用了userid as 用户号码
    所以找不到,散分吧