با سلام به همه دوستان
من يك برنامه دارم كه ديتابيس اون اكسسه ميخوام هر وقت كه برنامه رو بستم از ديتابيس من در يك مسير مشخص بك آپ گيري كنه .
با سلام به همه دوستان
من يك برنامه دارم كه ديتابيس اون اكسسه ميخوام هر وقت كه برنامه رو بستم از ديتابيس من در يك مسير مشخص بك آپ گيري كنه .
به سادگی میتونی با استفاده از System.Io دستور زیر رو تو event FormClosed توی فرم اصلی برنامه اجرا کنی:
File.Copy("SourcePath", "DestinationDirectory" + DateTime.Now.Date.ToShortDateString());
البته این کار رو میتونی توی فایل Program.cs بعد از دستور زیر هم انجاد بدی، از نظر کارایی فرقی نداره:
Application.Run(new Form1());
File.Copy("SourcePath", "DestinationDirectory" + DateTime.Now.Date.ToShortDateString());
فقط فراموش نکنی از System.Io استفاده کنی.
با تشکر از شما دوست عزیز Editali به خاطر جوابی که به من دادید .
دوست عزیز این کد جواب نمیده و در زمان خروج از برنامه ارور میده اگه امکانش هست کدتون رو واضح تر بنویسید شاید من دارم اشتباه می نویسم . مسیرها رو به صورت واقعی مثال بزنید . ممنون
با یه فایل txt تست گرفتم، مشکلی نداره
کد program.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Form1());
File.Copy("H:\\a.txt", "G:\\a.txt");
}
}
}
شاید هنوز کانکشن دیتابیس بازه، مطمئن شو که کانکشن رو بستی و در نهایت حتما کانکشن رو برای اطمینان Dispose کن.
اگر جواب نداد متن ارور رو برام بذار.
الان مشکل شما با بک آپ گیریه ؟
تو ایونت Form_Closing میتونید کد بک آپ رو بنویسید ... البته این کار ممکنه زمان گیر باشه و برای دقیقه ای برنامه هنگ کنه ... پیشنهادم نمایش یک فرم با عنوان "برنامه در حال بک آپ گیری است " در نهایت بستن کل اپلیکیشن بعد از پایان بک اپ هست ... برای بک آپ هم سورس زیاده اگر مشکل داشتی بگو نمونه خودم رو که جواب گرفتم واست می زارم ... ولی هیچ وقت از روش های غیر متعارف مثل کپی کردن دیتابیس استفاده نکن.