运行一个数据导入工具,执行导入功能会弹出如下错误信息运行一个数据导入工具,执行导入功能会弹出如下错误信息,请帮忙分析。该功能是放在线程内,这是否有关系。我单步运行或者数据有十几条,不会出现错误在有的机子运行会,有的又不会——-
---------------------------
Debugger Exception Notification
---------------------------
Project DataQryTool.exe raised exception class EOleException with message '参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
---------------------------
Debugger Exception Notification
---------------------------
Project DataQryTool.exe raised exception class EOleException with message '参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
如果是我的话,我会使用ADO组件,至于导入的方式,可能会通过数据库上的一个存储过程来完成,每次插入会使用这个存储过程。另外,请确认你导入的字段中是否有复合键?问题2:
确认插入的字段长度是否超出了要求,另外也有可能是类型的不正确,例如12.0 导入到INT类型,或是 日期类型中放了空或是一个字符串什么的。请确认。
---------------------------
Debugger Exception Notification
---------------------------
Project DataQryTool.exe raised exception class EInvalidGridOperation with message 'Grid index out of range'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
导入的动作是从源数据ADOQuery取出相应值赋给相应的目标数据ADOTable字段。声明:源数据表与目标数据表的表结构是一模一样的。 问题在次描述,有时候虽然弹出了这个错误信息,但导入还是有成功的。有时候,导入一两条,有时候全部导入。。
这是啥问题哦,,心急着,帮帮忙,谢啦!
或将你的ADOQuery的ParamCheck设为false试试
(参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。---一般由:引起)
{*数据导入功能}
var
IsCount : Boolean;
VJ,ViCount : Integer;
begin
CoInitialize(nil);
IsCount := False;
ViCount := 0 ;
FAdqSource.Connection.BeginTrans ;
try
执行从另一个数据表查询,接着把数据导到另一个数据表
end;
RecordCount := ViCount;
FAdqSource.Connection.CommitTrans ;
Synchronize(ShowMessage);
finally
CoUninitialize;
Terminate;
end;
end;