一个关于异常处理的问题和一个文件拷贝的问题?(65分)

  • 主题发起人 主题发起人 zgyingmu
  • 开始时间 开始时间
Z

zgyingmu

Unregistered / Unconfirmed
GUEST, unregistred user!
请看以下程序:发生异常后,系统提示‘选票类型编号有重复!’后,又提示'Microsoft
Odbc KeyVialotion...,'意思仍是关键字有重复,请问如何使系统不出现第二个
提示,即在出现关键字重复时,只提示’选票类型编号有重复!‘,不知如何处理
, 请高手详细指导。我用的是Delphi5+Access2000。
begin
DataModule1.Database1.StartTransaction;
try
DataModule1.Table2.ApplyUpdates;
DataModule1.Database1.Commit;
except
ShowMessage('选票类型编号有重复!');
DataModule1.Database1.Rollback;
raise;
end;
DataModule1.Table2.CommitUpdates;
xplxszform.Close;
end;
还有一个问题,如何用程序实现把软盘上的某个文件换名后拷到硬盘的某个目录下。
谢谢!我的Email:hzyingmu@21cn.com.
 
取消raise;这一行。
copyfile('a:/abc.txt','c:/temp/cde.txt',false);
如果第三个参数为true,则当目标文件存在时不进行复制。
返回值=0表示复制失败。
 
在DELPHI中调试会出现第二个提示,但在可执行文件运行时不会出现第二个错误。
 
程序中对事务的处理有两处不妥:
1. Access Database不支持事务处理, 使用事务在这里是无效的.
3. DataModule1.Table2.CommitUpdates; 这一句也应该放在事务处理之中.
 
老兄,我估计你是在DELPHI的编程环境中运行才会这样,这不是错误,有两个解决办法:
1.在调试环境的时候,将tools-->debugger options-->general-->integrated debugging
复选框改为未选中(这样的话,能实现你的要求,但加断点的话不会停)
2.直接运行可执行文件即可
 
多人接受答案了。
 
后退
顶部