莫名其妙的问题

smallfish382 2006-01-13 10:32:34
运行一个数据导入工具,执行导入功能会弹出如下错误信息

运行一个数据导入工具,执行导入功能会弹出如下错误信息,请帮忙分析。该功能是放在线程内,这是否有关系。

我单步运行或者数据有十几条,不会出现错误

在有的机子运行会,有的又不会——-


---------------------------
Debugger Exception Notification
---------------------------
Project DataQryTool.exe raised exception class EOleException with message '参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------


...全文
200 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cimssoft 2006-01-18
  • 打赏
  • 举报
回复
注意跟踪插入的数据,应该能找出问题的
cimssoft 2006-01-18
  • 打赏
  • 举报
回复
注意你的数据中是否某些比较特殊的字符,我曾经也有出过类似的问题。
smallfish382 2006-01-17
  • 打赏
  • 举报
回复
晕乎乎的,我怎么都得不到答案——
smallfish382 2006-01-16
  • 打赏
  • 举报
回复
线程操作要注意什么操作呢?
为什么把它放在线程会出现那样的问题,快帮忙分析分析
smallfish382 2006-01-16
  • 打赏
  • 举报
回复
keiy() :谢谢,你会去检查一下的。

现在的情况是,我把导入功能取出不放到线程里,即去掉使用线程,不会有啥问题哦!

procedure TImport.Execute;
{*数据导入功能}
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;
柯本 2006-01-13
  • 打赏
  • 举报
回复
检查你的数据中是否含有":"号
或将你的ADOQuery的ParamCheck设为false试试
(参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。---一般由:引起)
smallfish382 2006-01-13
  • 打赏
  • 举报
回复
我的导入操作是一条条的追加进去的——-
smallfish382 2006-01-13
  • 打赏
  • 举报
回复
holyten(飞翔的云) :

   导入功能是放到线程里面的,源数据使用ADOQuery,目标数据使用ADOTable

首先判断两个固定字段是否存在,如果有,以这个两个字段为主查询,目标数据是否已有源数据了,如果有不在导入。如果没有则执行导入。
  导入的动作是从源数据ADOQuery取出相应值赋给相应的目标数据ADOTable字段。

声明:源数据表与目标数据表的表结构是一模一样的。

  问题在次描述,有时候虽然弹出了这个错误信息,但导入还是有成功的。有时候,导入一两条,有时候全部导入。。
  这是啥问题哦,,心急着,帮帮忙,谢啦!
smallfish382 2006-01-13
  • 打赏
  • 举报
回复
怎么讲啊。。你所谓的异常数据可否指个例子呢?

有时候,是弹出如下错误信息:
---------------------------
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
---------------------------
holyten 2006-01-13
  • 打赏
  • 举报
回复
请描述清楚你的导入动作,和你导入表的格式。和你使用的控件!

问题1:
如果是我的话,我会使用ADO组件,至于导入的方式,可能会通过数据库上的一个存储过程来完成,每次插入会使用这个存储过程。另外,请确认你导入的字段中是否有复合键?

问题2:
确认插入的字段长度是否超出了要求,另外也有可能是类型的不正确,例如12.0 导入到INT类型,或是 日期类型中放了空或是一个字符串什么的。请确认。
NightCloud 2006-01-13
  • 打赏
  • 举报
回复
有可能是你导入的数据中有异常数据,不能处理,所以报错
smallfish382 2006-01-13
  • 打赏
  • 举报
回复
哇哇,,怎么没有人进来啊。着急着———

2,498

社区成员

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

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