ADO得奇怪错误

mygodsos 2002-10-21 03:50:37
我用Delphi7下的ADO连接VFP7的自由表,在写数据时512条记录时出现
too many variablis的错误,为什么?
ADOConnection string是Provider=VFPOLEDB.1;DataSource=D:\myVFP;Password="";Collating Sequence=MACHINE

要是用ODBC连接则无问题,奇怪!!!
附源程序
unit tube50;

interface

uses
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.
...全文
67 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangchangjiang 2002-10-22
  • 打赏
  • 举报
回复
up
mygodsos 2002-10-22
  • 打赏
  • 举报
回复
OLE DB For Foxpro.1 可是Visual Foxpro 7.0带的,应该是最新的
我去MSDN找也没找到更新的版本,有哪位大虾知道,救救我呀
我是业余菜鸟
zxkid 2002-10-21
  • 打赏
  • 举报
回复
是不是OLE DB For Foxpro Provider的版本太低出了问题。
用OLE DB For ODBC Provider可以的话,就用ODBC吧!
mygodsos 2002-10-21
  • 打赏
  • 举报
回复
在那打补丁,我可是delphi7
armu80830 2002-10-21
  • 打赏
  • 举报
回复
给Ado打一下补丁

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧