恢复时用下面这些语句试试:
ADOQuery1.SQL.Add('Use master EXEC sp_dboption '''+DataBaseName+''','''+'single user'+''','''+'True''');
  ADOQuery1.SQL.Add('Restore database '+DataBaseName+' from disk='''+路径+文件名+'''');
  ADOQuery1.SQL.Add('EXEC sp_dboption '''+DataBaseName+''','''+'single user'+''','''+'False''');