附加数据库出错,大家帮我看看(200)

  • 主题发起人 主题发起人 NRID
  • 开始时间 开始时间
N

NRID

Unregistered / Unconfirmed
GUEST, unregistred user!
附加数据库出错{$REGION '拷贝帐套文件'}CopyFile(PChar(SourcePath + ADataFile),PChar(InstallPath + ADataFile),False);ShellExecute(Handle,'open','attrib',PChar('"'+InstallPath + ADataFile+'" -r'),'',SW_HIDE);CopyFile(PChar(SourcePath + ALogFile),PChar(InstallPath + ALogFile),False);ShellExecute(Handle,'open','attrib',PChar('"'+InstallPath + ALogFile+'" -r'),'',SW_HIDE);{$ENDREGION}{$REGION '附加数据库'}ADataFile := aList.Strings[i * 3];AMDFFile := InstallPath + aList.Strings[i * 3 + 1];ALDFFile := InstallPath + aList.Strings[i * 3 + 2];sqlString := Format(SQL_ATTACHDATABASE,[ADatabase,AMDFFile,ALDFFile]);WriteLog('附加数据库' + #10 + #13 + '数据库名:' + ADatabase + #10 + #13 + 'MDF文件:' + AMDFFile + #10 + #13 + 'LDF文件:' + ALDFFile + #10 + #13 + 'SQL:' + sqlString);try ADOConnection1.Execute(sqlString);except MessageBox(Handle,PChar(Format('附加数据库"%s"失败(MDF文件: %s,LDF文件: %s)',[ ADatabase,AMDFFile,ALDFFile])),PChar(DialogTitle),MB_OK + MB_ICONERROR); MessageBox(Handle,PChar(sqlString),PChar(DialogTitle),MB_OK + MB_ICONERROR);end;{$ENDREGION}程序执行时会触发"附加数据库失败"那句异常语句.我转到文件夹去看,发现数据库文件还没拷贝过去,过了一会后才看见数据库文件拷贝过来了,就好象先执行附加数据库语句再执行拷贝帐套文件语句似的.这个软件在原先的电脑上都执行正常的,后来因为电脑速度慢换了一台新的双核电脑,重新编译后就有这种问题了.大家帮我看看是什么问题,有什么办法解决.
 
在附加数据库前选测试数据库文件是否存在,不存在的话用循环等待,然后再执行附加命令。
 
用流方式已经解决了
 

Similar threads

后退
顶部