PDA

View Full Version : بررسی attach بودن فایل



cimiarnm
جمعه 07 اسفند 1388, 11:43 صبح
با سلام
من میخوام در برنامه ام بررسی کنم فایلم attach شده به SQLEXPRESS یا نه برای اینکار از دستور زیر استفاده میکنم:


string CmdStr = "select * from sysdatabases where name='" + FileName.ToUpper() + "'";

رشته فوق را در یک متغیر CONNETION قرار داده و اجرا میکنم کد برای مثلا پایگاه master درست کار میکند ولی فایلی که برنامه من attach میکند بصورت زیر است :


F:\my program\database\mydatabase.mdf

رشته ای که برای بررسی میتونم برای بررسی بفرستم بصورت زیر است :



F:\\my program\\database\\mydatabase.mdf

یعنی تو برنامه کاراکتر \ تنها نمیتونم به رشته اضافه کنم . در نهایت رشته تولید شده چون دقیقا با مشخصات ذخیره شده در سرور برابر نیست برنامه من نمیتواند اتچ بودن آنرا بفهمد کسی از دوستان میتونه کمک کنه من باید چیکار کنم ؟ تا بتونم اتچ بودن فایلم رو بفهمم؟

pars.engineer
جمعه 07 اسفند 1388, 16:15 عصر
سلام،
اگر از SQL Express استفاده می کنید نیازی به Attach کردن دیتابیس نیست.
در غیر اینصورت در کد مورد نظر شما باید نام دیتابیس آورده شود نه Path آن.
برای مثال کد شما به صورت زیر تغییر میکند:



string CmdStr = "select * from sysdatabases where name='mydatabase'


موفق باشید

cimiarnm
جمعه 07 اسفند 1388, 18:26 عصر
سلام،
اگر از SQL Express استفاده می کنید نیازی به Attach کردن دیتابیس نیست.
در غیر اینصورت در کد مورد نظر شما باید نام دیتابیس آورده شود نه Path آن.
برای مثال کد شما به صورت زیر تغییر میکند:



string CmdStr = "select * from sysdatabases where name='mydatabase'


موفق باشید
دوست عزیز میشه کمی بیشتر توضیح بدین یعنی چطوری نیازی به اتچ کردن نیست؟؟ در ثانی من چطور میتونم فایلی که تو یک مسیر خاص هست رو فقط با بردن نام آن ، انرا به سرور اتچ کنم؟؟

pars.engineer
جمعه 07 اسفند 1388, 22:37 عصر
ابتدا لازم است SQL Express بر روی سیستم مقصد نصب باشد.
سپس فایل دیتابیس را در سیستم مقصد کپی کنید.
پس از آن در Connection string زیر به جای متغیر FilePath آدرس فایل دیتا بیس را قرار دهید.



connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="+FilePath+"\MyDatabase.mdf;Integrated Security=True;User Instance=True"




پس از آن به راحتی میتوانید از دیتابیس مورد نظر استفاده کتید.

شاید سئوال پیش بیاید که اگر آدرس فایل متغیر باشد نرم افزار به مشکل بر می خورد ولی:
1. شما می توانید در پکیج نصب فایل دیتا بیس را در مسیر مشخصی کپی کنید.
2. اگر کپی آنرا به عهده کاربر قرار می دهید می توانید برای اولین بار که نرم افزار اجرا می شود آدرس فایل مورد نظر را توسط کنترل OpenFileDialog از کاربر پرسیده و برای استفاده بعدی در جایی ذخیره کنید.

موفق باشید.