سلام
(براي ديدن نسخه جديد گرفتن بك آپ به صفحه دوم برويد و يا لينك زير را ببنيد:
https://barnamenevis.org/showth...765#post623765
و براي ساخت database و restore اين لينك را:
https://barnamenevis.org/showthread.php?t=32723
به زودي نسخه اصلاح شده restore نيز گذاشته ميشود.
اين پرانتز در تاريخ 8 آبان 87 اضافه شد)
این هم به همان راحتی create و restore کردن databse است!
کنترلهایی که برای این کار لازم است یک adocmmand ، یک button ویک shellTreeView یا یک ابزار دیگر شبیه آن است! (برای انتخاب مسیر ذخیره backup) و در صورت دلخواه edit برای وارد کردن نام backup جدید!
با این روش می تونید به کاربر بگید از طریق همون برنامه ای که باهاش کار می کنه به راحتی یک bachkup گرفته و بر روی cd ذخیره نماید تا با در صورتی که روزی روزگاری برای کتمپیوتر مشگلی پیش آمد مثلا هارد سوخت. با نصب مجدد برنامه و sql داده هایی که قبلا در پایگاه داده ذخیره کرده است. قابل برگشت باشد!
برای این کار ارتباط بین adocommnad1 و sql server را از طریق connection string برقرار کنید!
سپس در رویداد کلیک button کد زیر را بنویسید!
procedure TForm1.Button1Click(Sender: TObject);
var
str,s,s1,s2,s3:string;
d:tdate;
begin
str:=ShellTreeView1.Path;
d:=date;
s:=DateToStr(d);
s1:=copy(s,1,4);
s2:=copy(s,6,2);
s3:=copy(s,9,2);
s:='backup_'+s1+'_'+s2+'_'+s3;
str:=str+'\'+s;
with ADOCommand1 do
begin
CommandText:='BACKUP DATABASE mydatabase1 TO DISK='+QuotedStr ( str);
execute
end;
ShowMessage('پشتبان گیری موفقیت آمیز انجام شد');
end;
البته به جای mydatabase1 نام database خودتان را در sqlserver بنویسید!
در این کد من از تاریخ برای متمایز کردن backup ها استفاده کردم. شما در صورتی که مایل باشید. می توانید به جای این کار نام backup را در یک edit از کاربر بپرسید!
اصل کد به صورت زیر است:
backup database mydatabase1 to disc='d:/new folder/backup3'
که در قسمت disc= آدرس ذخیره سازی backup و نام آن در داخل کوتیشن ذکر می گردد!
و شما می توانید کد ذکر شده را به دلخواه خود تغییر دهید!
نمونه برنامه را ضمیمه کردم.
اگر database را که در تاپیک آموزش طریق ساخت و restore فایل backup در نمونه برنامه وجود داشت! ساخته باشدی. این برنامه کار خواهد کرد. و یا در کد آن نام mydatabase1 را به نام یکی از database ها موجود در sql خودتان تغییر دهید. تا نحوه کار آن را ببنید!
اگر انتقادی یا ایرادی وجود داشته باشه، با کمال میل می پذیرم!
موفق باشید!
خداحافظ