我用Delphi7下的ADO连接VFP7的自由表,在写数据时512条记录时出现
too many variablis的错误,为什么?
ADOConnection  string是Provider=VFPOLEDB.1;DataSource=D:\myVFP;Password="";Collating Sequence=MACHINE要是用ODBC连接则无问题,奇怪!!!
附源程序
unit tube50;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation
uses qldata;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
    dmrec:TQLDmRec;
    stmD:TQLDmData;
    i:Longint;
begin
    ADOConnection1.Open;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('INSERT INTO TBZQDM(ZQDM,ZQMC) VALUES(:DM,:MC)');
    stmD:=TQLDmData.Create('shnow.dat',fmOpenRead);
    stmD.FstRec;
    for i:=1 to stmD.GetRecNo do
    begin
        stmD.ReadRec(dmrec);
        ADOQuery1.Parameters.ParamValues['DM']:=dmrec.sZqdm;
        ADOQuery1.Parameters.ParamValues['MC']:=dmrec.sZqmc;
        ADOQuery1.ExecSQL;
        stmD.NxtRec;
    end;
    stmD.Free;
    stmD:=TQLDmData.Create('sznow.dat',fmOpenRead);
    stmD.FstRec;
    for i:=1 to stmD.GetRecNo do
    begin
        stmD.ReadRec(dmrec);
        ADOQuery1.Parameters.ParamValues['DM']:=dmrec.sZqdm;
        ADOQuery1.Parameters.ParamValues['MC']:=dmrec.sZqmc;
        ADOQuery1.ExecSQL;
        stmD.NxtRec;
    end;
    stmD.Free;
    ADOQuery1.Close;
    ADOConnection1.Close;
end;end.