如下:
 sqlstr:=Format('insert into TGOODS values(%d,%d,''%s'')',
                [1,23,datetimetostr(now)]);  if not ExecuteSql(ADOQry1,sqlstr,false)then//调用的函数下面有
  begin
    Errmsg('添加物品入库信息错误!');
    result:=false;
    exit;
  end;function ExecuteSql(QueryName:TADOQuery;exSql:string;retVal:boolean):boolean;
begin
  with QueryName do
  try
    close;
    sql.Clear;
    sql.Add(exSql);
    if retVal then
      begin
        open;
        recordnum:=RecordCount;
      end
    else
      begin
        execsql;
          //这里执行出错!!!
         //提示Access violation at Address XX in module 'msado15.dll'
        close;
      end;
    result:=true;
  except
    result:=false;
  end;
end;

解决方案 »

  1.   

    我这运行没问题!
    你的adoconnect连接成功吗?
    要不你尝试重起机器
      

  2.   

    新用一个ADOQuery就可以了
    那个ADOQuery在前面用过就不能用了???另外,问各位,access里定义的时间字段在sql语句怎么写
    sqlstr:=Format('insert into TGOODS values(%d,%d,''%s'')',
                    [1,23,datetimetostr(now)]);以上语句的时间字段会出错!
      

  3.   

    再用之前先关闭,否则两个SQL绑成了一个
      

  4.   

    说一句多余的execsql; 之后不需要  close;