用ado直接调用dbf数据库运行到512次出错

mygodsos 2003-05-22 12:51:29
我用ado直接连接dbf表,往tbzqdm.dbf中添加1000条记录,
可是运行到512次就报出错(too many variables),dbf中也添加了512条正确的
纪录,为什么!!!

adoconnect string:
Provider=VFPOLEDB.1;Data Source=D:\myVFP;Password="";
Collating Sequence=MACHINE
是adoconnect 自动buid的,而且test connect成功的
环境:win2000,Delphi7,vfpoledb.dll(8.0),Ms VFP6的table

======================================================
procedure TForm1.Button1Click(Sender: TObject);
var
aBh:array[1..1000] of integer;
i:longint;
begin
ADOConnection1.Open;
ADOQuery1.SQL.Clear;
for i:=1 to 1000 to do aBh[i]:=i;
ADOQuery1.SQL.Add('Insert into tbzqdm(dm)');
ADOQuery1.SQL.Add(' values(:DD)');

try
for i :=1 to 1000 do
begin
ADOQuery1.Parameters.ParamValues['DD']:=aBH[i];
ADOQuery1.ExecSQL;
end;
finally
aBH:=nil;
ADOQuery1.Close;
ADOConnection1.Close;
Label1.Caption:='Finished!!';
end;
end;
=======================================================



我看到一个sql语句是insert into table array arrayname
如何用?

我改写成
ADOQuery1.SQL.Add('Insert into tbzqdm array aBh');
运行出错。
改成
ADOQuery1.SQL.Add('Insert into tbzqdm array :DD');
ADOQuery1.Parameters.ParamValues['DD']:='aBH';
也错。
改成
ADOQuery1.Parameters.ParamValues['DD']:=aBH;
也错。出错的代码是:syntax error

如何写?



...全文
28 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cow8063 2003-05-22
  • 打赏
  • 举报
回复
难办,用BDE,看看
mygodsos 2003-05-22
  • 打赏
  • 举报
回复
改成ado 连ODBC后,每个值都给卡掉一半
我真命苦,郁闷。。。。。
mygodsos 2003-05-22
  • 打赏
  • 举报
回复
我原来用D6和ole for ODBC也没出错,另外将连接方式改成ado连ODBC不会有这个错误
真是莫名其妙
mygodsos 2003-05-22
  • 打赏
  • 举报
回复
是不是在adoconnect控件的属性要改些什么东西?
WWWWA 2003-05-22
  • 打赏
  • 举报
回复
你的程序在D6下无问题,我将I:改为INTEGER。
mygodsos 2003-05-22
  • 打赏
  • 举报
回复
我把table的字段改成字符类型一样只是添加512条纪录后出错
haoco 2003-05-22
  • 打赏
  • 举报
回复
1、==============
DD字段是不是整型类型,可能是512超过了它所能保存的数值大小
2、==============
insert into table array arrayname是在FoxPro扩展的语句在Delphi中是不能用的

2,498

社区成员

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

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