在用ADOQUERY做插入记录是老是报这个错。

解决方案 »

  1.   

    if(StrLen(PChar(EditNo.Text))=0) then
        ShowMessage('请输入网点编号')
      else
        begin
          //查询是否已经存在要添加的记录
          ShowMessage(EditNo.Text);
          ADOQuery1.Close;
          ADOQuery1.SQL.Clear;
          ADOQuery1.SQL.Add(selectsql+EditNoValue);
          ADOQuery1.OPen;
          selectnum:=ADOQuery1.RecordCount;
        end;
      //ShowMessage('!');
      if selectnum>0 then
        begin
         ShowMessage('已经存在这条记录');
         selectnum:=0;
        end
      else
      //添加记录
        begin
          {ADOQuery1.Insert;
          ADOQuery1['brh_no']:=EditNoValue;
          ADOQuery1['brh_name']:=EditNameValue;
          ADOQuery1['brh_ip']:=EditIpValue;
          ADOQuery1['brh_type']:=EditTypeValue;
          ADOQuery1['brh_date']:=EditDateValue;
          ADOQuery1['brh_num']:=EditNumValue;
          ADOQuery1.Post; }
          ADOQuery1.Close;
          ADOQuerY1.SQL.Clear;
          ADOQuery1.SQL.Add(insertsql+EditNoValue+EditNameValue+EditIpValue+EditTypeValue+EditDateValue+EditNumValue+')');
          ADOQuery1.Open;
        end;
      

  2.   

    insertsql:='Insert Into brh_table Values(';
      

  3.   

    你用insert语句就不能用open(有返回数据集时才用),最后那句改成:
    ADOQuery1.ExecSQL;
      

  4.   

    把ADOQuery1.Open;改为ADOQuery1.ExecSQL;
    还是同样的错!
      

  5.   

    只是这一段代码有错
      ADOQuery1.Close;
          ADOQuerY1.SQL.Clear;
          ADOQuery1.SQL.Add(insertsql+EditNoValue+EditNameValue+EditIpValue+EditTypeValue+EditDateValue+EditNumValue+')');
          ADOQuery1.Open;
    谢谢赐教!!
      

  6.   

    要用,号分开呀,而且你的字段类型如果是字符型的就要加上引号:
      ADOQuery1.Close;
          ADOQuerY1.SQL.Clear;
          ADOQuery1.SQL.Add(insertsql+',''''+EditNoValue+''','''+EditNameValue+''','''+EditIpValue+''','''+EditTypeValue+''','''+EditDateValue+''','''+EditNumValue+''')');  
          ADOQuery1.ExecSQL;
      

  7.   

    语法就不对,:too many actual parameters.
      

  8.   

    ADOQuery1.Close;
          ADOQuerY1.SQL.Clear;
          ADOQuery1.SQL.Add(insertsql+ ':EditNoValue, :EditNameValue, :EditIpValue, :EditTypeValue, :EditDateValue, :EditNumValue)');
          ADOQuery1.Parameters[0].Value:=EditNameValue;
          ADOQuery1.Parameters[1].Value:=EditIpValue;
          ADOQuery1.Parameters[2].Value:=EditTypeValue;
          ADOQuery1.Parameters[3].Value:=EditDateValue;
          ADOQuery1.Parameters[4].Value:=EditNumValue;
          ADOQuery1.ExecSQL;