Rocker
پنج شنبه 10 مرداد 1387, 09:51 صبح
سلام دوستان:
من در نرم افزارم برای Restore کردن از این کد استفاده میکنم:
if (OpenDialog1.Execute) and (OpenDialog1.FileName<>'') then
begin
with ADOCommand1 do
begin
CommandText:='use master RESTORE DATABASE MyDatabase FROM DISK='+QuotedStr (OpenDialog1.FileName);
execute ;
end;
این کد به ظاهر درست عمل میکنه و هیچ پیغام خطایی هم نمیده اما در واقع اصلا دیتابیس رو بازیابی نمی کنه و رکوردهای ویرایش شده و یا پاک شده را برنمی گرداند.به عبارتی دیگر انگار نه انگار که دیتابیس رو Restore کردی.
اما اگرهمین کد را در برنامه ی دیگری که از دیتابیس MyDatabase استفاده نمی کند قرار دهیم و برنامه ی اصلی را ببندیم بدون هیچ مشکلی دیتابیس را بازیابی میکند و رکوردهای پاک شده را هم برمی گرداند.
توضیح اینکه:من در نرم افزار اصلی خود قبل از اینکه عمل بازیابی را انجام دهم همه ی جدول ها و اتصالات به بانک را میبندم اما باز هم فرقی نمیکند.
متشکر میشم اگر کمکم کنید
من در نرم افزارم برای Restore کردن از این کد استفاده میکنم:
if (OpenDialog1.Execute) and (OpenDialog1.FileName<>'') then
begin
with ADOCommand1 do
begin
CommandText:='use master RESTORE DATABASE MyDatabase FROM DISK='+QuotedStr (OpenDialog1.FileName);
execute ;
end;
این کد به ظاهر درست عمل میکنه و هیچ پیغام خطایی هم نمیده اما در واقع اصلا دیتابیس رو بازیابی نمی کنه و رکوردهای ویرایش شده و یا پاک شده را برنمی گرداند.به عبارتی دیگر انگار نه انگار که دیتابیس رو Restore کردی.
اما اگرهمین کد را در برنامه ی دیگری که از دیتابیس MyDatabase استفاده نمی کند قرار دهیم و برنامه ی اصلی را ببندیم بدون هیچ مشکلی دیتابیس را بازیابی میکند و رکوردهای پاک شده را هم برمی گرداند.
توضیح اینکه:من در نرم افزار اصلی خود قبل از اینکه عمل بازیابی را انجام دهم همه ی جدول ها و اتصالات به بانک را میبندم اما باز هم فرقی نمیکند.
متشکر میشم اگر کمکم کنید