PDA

View Full Version : سوال: مشکل در تغییر بانک اطلاعاتی مبدا توسط کاربر



mahdi-1
چهارشنبه 11 اردیبهشت 1392, 13:39 عصر
سلام
من یه برنامه کار با بانک اکسس ساختم که میخوام بانک اطلاعاتی که کاربر بتونه روش کار کنه رو خودش مشخص کنه.
یه بانک اطلاعاتی پیشفرض به نام apdb.accdb رو توی پوشه debug قرار دادم و میخوام هر بانکی که کاربر انتخاب میکنه بیاد و جای این بانک پیشفرض قرار بگیره ولی دوتا مشکل دارم:
1-نام filename بانک های انتخابی به apdb.accdb تغییر پیدا نمیکنه.
2- در صورتی که در open dialog فایلی انتخاب و میکنم و cancel رو میزنم برنامه با خطا مواجه میشه.

این هم کد هایی که نوشتم:
string dbpath;
openFileDialog1.Filter = "(Access File)|*.accdb";
openFileDialog1.ShowDialog();
dbpath = openFileDialog1.FileName;
if (dbpath != null )
{
File.Delete(Application.CommonAppDataPath + "apdb.accdb");
File.Copy(dbPath, Application.CommonAppDataPath);
}

کامبیز اسدزاده
چهارشنبه 11 اردیبهشت 1392, 13:50 عصر
شما کلا بیخیال مدیریت خطاها هستین ؟ :لبخند:

h_assefi
چهارشنبه 11 اردیبهشت 1392, 13:52 عصر
در جواب سئوال اول باید بگم که چون هنوز فایلی با همون اسم وجود داره سیستم عامل اجازه این کار را نمیده
و سئوال دوم اینکه اول متن خطا را بذارید و بعدش باید ببینید که توی کدوم قسمت از کدتون خطا میده؟

mahdi-1
چهارشنبه 11 اردیبهشت 1392, 14:12 عصر
شما کلا بیخیال مدیریت خطاها هستین ؟ :لبخند:
نه من مشکلم تو حذف بانک اطلاعاتی اکسس برنامه و قرار دادن یک بانک دیگر به جای اون هستش
یعنی از مسیر جاری بانک اکسس حذف شه و یه بانک دیگه کا کاربر انتخاب کرده با همون نام اضافه بشه
اینم کد با مدیریت خطا:
try // مدیریت خطا
{
string dbpath;
openFileDialog1.Filter = "(Access File)|*.accdb";
openFileDialog1.ShowDialog();
dbpath = openFileDialog1.FileName;
File.Delete(Application.StartupPath + "apdb.accdb");
File.Copy(dbpath, Application.StartupPath);
}
catch (ArgumentNullException)
{
MessageBox.Show("لطفا فایلی را انتخاب و باز نمایید");
}

mahdi-1
چهارشنبه 11 اردیبهشت 1392, 14:19 عصر
در جواب سئوال اول باید بگم که چون هنوز فایلی با همون اسم وجود داره سیستم عامل اجازه این کار را نمیده
و سئوال دوم اینکه اول متن خطا را بذارید و بعدش باید ببینید که توی کدوم قسمت از کدتون خطا میده؟

نه منظورم از سوال اول اینه که نمیشه apdb.accdb رو حذف کرد یعنی مسیر حذف فایل باید چی باشه یا از چه دستوری برای حذف اون استفاده کنم؟

h_assefi
چهارشنبه 11 اردیبهشت 1392, 14:53 عصر
اسم فایلت همیشه یکیه ؟

mahdi-1
چهارشنبه 11 اردیبهشت 1392, 17:03 عصر
ممنون دوست عزیز مشکلم رفع شد.