ورود

View Full Version : restor بانک داده اکسس تو دلفی!



nazanin20
سه شنبه 25 خرداد 1389, 19:27 عصر
سلام
خاهشن این تاپیکو حذف نکنید من تقریبایه روزه دارم سرچ میکنم ولی به نتیجه نرسیدم
میخام بانک داده اکسس و البته باکد ریستور کنم
واسه بکاپ کدشو دارم ولی برا ریستور ندارم
خواهشا راهنمایی م کنید :


var
fileSource, fileDest: string;
begin
ShowMessage('فایلی که میخایم پشتبان ازش بگیریم);
if OpenDialog1.Execute then
begin
fileSource := OpenDialog1.FileName;
ShowMessage(مسیرفایل پشتیبان');
SaveDialog1.Execute;
fileDest :=SaveDialog1.FileName+'.mdb';
CopyFile(PChar(fileSource), PChar(fileDest), False);
end
else
Application.Terminate;
end;

Felony
سه شنبه 25 خرداد 1389, 21:27 عصر
خوب با همون تابع CopyFile میتونید بانک رو Restore کنید دیگه ، فقط تفاوتش در این هست که برای Rstore باید Table ها ، Query ها و ... که به بانک متصل هست رو غیر فعال کنید ( چون وقتی بانک در حال استفاده هست اجازه حذفش رو ندارید ، چون توسط برنامه باز شده ) ، برای همین ابتدا همه کانکشن ها رو غیر فعال کنید ، فایل جاری بانک رو حذف کنید و با تابع CopyFile فایل مورد نظر کاربر رو که با یک OpenDialog انتخاب کرده رو با نام مورد نظر به جای فایل جاری کپی کنید ( بانک Restore میشه ) و بعد دوباره کانکشن هارو فعال کنید .

nazanin20
سه شنبه 25 خرداد 1389, 22:43 عصر
از توضیحاته خوبتون ممنونم ...ولی منآشناییه زیادی ندارم ...فهمیدم چی میگی ولی کدشو بلد نیستم بنویسم ....میشه کمکم کنید
با تشکر

Felony
سه شنبه 25 خرداد 1389, 23:53 عصر
یک نمونه کد براتون نوشتم :

var
APPDir: String;
begin
if OpenDialog1.Execute then
begin
APPDir:= ExtractFilePath(Application.ExeName);
ADOQuery1.Active:= False;
CopyFile(PChar(OpenDialog1.FileName),PChar(APPDir+ 'DB.mdb'),False);
ADOQuery1.Active:= True;
end;
end;

matinebi
سه شنبه 20 فروردین 1392, 07:58 صبح
با تشکر از Sherl0ck عزیز آیا میشود که بدون بستن برنامه و اجرای مجدد آن تغییرات اعمال شود یعنی مثلا dbgrid متصل به بانک زمانی که رستور اجرا شد اطلاعات بانک جدید را نمایش دهد