PDA

View Full Version : تهیه back up از اطلاعات



rashidi_sm
شنبه 15 تیر 1392, 22:26 عصر
سلام
من یک کد نوشتم برای back up گرفتن از داده ها، ولی وقتی که می خواد ذخیره شود، وقتی سوال می پرسد فایلی با این نام وجود دارد آیا می خواهید روی همان ذخیره شود، اگر گزینه Yes رو کلیک کنیم، اطلاعات جدید ذخیره نمی شود، در واقع اطلاعات جدید Replace نمی شود. کسی می دونه باید چی کارش کنم؟
PersianCalendar pc = new PersianCalendar();
string strFileName = string.Empty;
saveFileDialog1.DefaultExt = "BAK";
saveFileDialog1.FileName = "AnbarBackupFile";
saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Backup SQL File";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
strFileName = saveFileDialog1.FileName;
Backup(strFileName);
}

CsharpNevisi
شنبه 15 تیر 1392, 22:35 عصر
خب میتونی فایلی که وجود داره رو پاک کنی .. !! و فایل جدید رو جاش بنویسی

sohil_ww
شنبه 15 تیر 1392, 22:38 عصر
خب میتونی فایلی که وجود داره رو پاک کنی .. !! و فایل جدید رو جاش بنویسی

چجوری تو پنجره savedialog فایل با کد نوبسی پاک کنه ؟!
میشه بگی

CsharpNevisi
شنبه 15 تیر 1392, 22:46 عصر
چجوری تو پنجره savedialog فایل با کد نوبسی پاک کنه ؟!
میشه بگی


saveFileDialog1.DefaultExt = "BAK";
saveFileDialog1.FileName = "AnbarBackupFile";
saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Backup SQL File";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
strFileName = saveFileDialog1.FileName;
//مگه ادرس فایل تو strFileName نیست ؟
System.IO.File.Delete(strFileName);

rashidi_sm
شنبه 15 تیر 1392, 23:11 عصر
saveFileDialog1.DefaultExt = "BAK";
saveFileDialog1.FileName = "AnbarBackupFile";
saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Backup SQL File";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
strFileName = saveFileDialog1.FileName;
//مگه ادرس فایل تو strFileName نیست ؟
System.IO.File.Delete(strFileName);
بله، آدرس فایل در strFileName هست

CsharpNevisi
شنبه 15 تیر 1392, 23:14 عصر
خوب با این دستور فایل پاک میشه دیگه .. !!
System.IO.File.Delete(strFileName);

ولی به نظر من یه پوشه تو یه جا از سیستم کاربر بساز و ادرس فایل نگیر مستقیم فایل بانکو اونجا کپی کن ... !!

rashidi_sm
یک شنبه 16 تیر 1392, 11:47 صبح
مشکل قبلی حل شد، ولی اگر در جایی این فایل بار اول باشد که ذخیره می شود، خطا می دهد، چون همچین فایلی نیست که اول پاکش کنه، چه طوری می تونم چک کنم که آیا این فایل وجود دارد یا نه؟
که اگر فایل وجود داشت پاکش کنه و فایل جدید رو ذخیره کنه و اگر نبود که فقط فایل رو ذخیره کنه

hamid_hr
یک شنبه 16 تیر 1392, 11:52 صبح
System.IO.File.Exists()
وجود داشته باشه true وگرنه false

CsharpNevisi
یک شنبه 16 تیر 1392, 12:15 عصر
مشکل قبلی حل شد، ولی اگر در جایی این فایل بار اول باشد که ذخیره می شود، خطا می دهد، چون همچین فایلی نیست که اول پاکش کنه، چه طوری می تونم چک کنم که آیا این فایل وجود دارد یا نه؟
که اگر فایل وجود داشت پاکش کنه و فایل جدید رو ذخیره کنه و اگر نبود که فقط فایل رو ذخیره کنه

System.IO.FileInfo a = new System.IO.FileInfo("ادرس فایل");
if (a.Exists)
{
a.Delete();
}

rashidi_sm
یک شنبه 16 تیر 1392, 14:57 عصر
الان برنامه خطای زیر را می دهد

Cannot open backup device 'C:\BackupFile.BAK'. Operating system error 5(Access is denied.).

BACKUP DATABASE is terminating abnormally.

می دونید علتش چیه؟

erfan_urchin
یک شنبه 16 تیر 1392, 17:32 عصر
الان برنامه خطای زیر را می دهد

Cannot open backup device 'C:\BackupFile.BAK'. Operating system error 5(Access is denied.).

BACKUP DATABASE is terminating abnormally.

می دونید علتش چیه؟
همونطور که میبینید داره خطای Access Denied میده یعنی مجوز دسترسی به این درایو رو ندارید
شما نمیتونید فایل Backup رو تو درایو ویندوزتون (یا همون درایو C) ذخیره کنید مثلا اگه روی درایو E ذخیره کنید دیگه این خطا رو نمیده