回 帖 发 新 帖 刷新版面

主题:求助:使用ADO插入数据出错

ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from a_doc where bh='''+Trim(Edtbh.Text)+'''');
ADOQuery2.Open;
  if ADOQuery2.RecordCount>0 then 
      begin
        application.MessageBox('编号重复!','提示信息',mb_ok+mb_iconinformation);
        Edtbh.SetFocus;
        exit;
      end;

   Str_S:='Insert into  a_doc (bh,mc)values('+Trim(Edtbh.Text)+','+Trim(Edtmc.Text)+')';
ADOQuery2.Close;// 出错
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(Str_S);
ADOQuery2.ExecSQL;
运行出现错误提示:
Either Eof or Bof is True,or the Current record has been deleted.Requeseted opration requires a Current record .


回复列表 (共7个回复)

沙发

insert into 表名(字段) values('' '' '' );

板凳


用insert into  也不行啊

3 楼

Str_S:='Insert into  a_doc (bh,mc) values('+Trim(Edtbh.Text)+','+Trim(Edtmc.Text)+')';


注意 (bh,mc)和 values 之间的空格

4 楼

如字段是字符类型请用这格式:
   QuotedStr(Trim(Edtbh.Text))或者''''

5 楼

试试这样处理看看行不行:


ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from a_doc where bh='''+Trim(Edtbh.Text)+'''');
ADOQuery2.Open;
  if ADOQuery2.RecordCount>0 then 
      begin
        application.MessageBox('编号重复!','提示信息',mb_ok+mb_iconinformation);
        Edtbh.SetFocus;
        exit;
      end;
ADQQuery2.Insert;
ADQQuery2.fieldbyname('bh').asstring:=trim(edtbh.text);
ADQQuery2.fieldbyname('mc').asstring:=trim(edtmc.text);
ADQQuery2.Post;

6 楼


谢谢各位的解答!用daibin的方法可以解决。[em2][em2]

7 楼

受用....呵呵!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册