PDA

View Full Version : بررسی ساختار یک فایل sdf بعد از اجرای برنامه



barnamenevisjma
شنبه 24 اردیبهشت 1390, 19:30 عصر
با سلام
برنامه ای دارم(با C#) که با دیتابیس در ارتباطه. کاربر این برنامه میخواد که محل این فایل، براش قابل تنظیم باشه. یعنی برنامه من باید بعد از کامپایل و در زمان اجرا، یه فایل sdf رو بگیره و در صورت مناسب بودن فایل، ازش استفاده کنه.
چطور میتونم بفهمم که فایل sdf انتخاب شده توسط کاربر، همون sdf برنامه ست؟ (یعنی ساختار داخلیش از قبیل جدول ها، فیلد های هر جدول و ... همون طوریه که باید باشه!)
با تشکر

barnamenevisjma
یک شنبه 25 اردیبهشت 1390, 01:26 صبح
کسی نیست ما رو راهنمایی کنه؟

barnamenevisjma
یک شنبه 25 اردیبهشت 1390, 19:28 عصر
ک.......م......ک!

barnamenevisjma
دوشنبه 26 اردیبهشت 1390, 14:12 عصر
چرا کسی جواب نمیده؟ نکنه اینجا تعطیل شده ما خبر نداریم؟

علیرضا حسن زاده
دوشنبه 26 اردیبهشت 1390, 17:46 عصر
ممکنه پست هایی قبلیتون به عنوان اف محسوب بشه!!؟
برای اینکار Schema دیتابیس معرفی شده توسط کاربر رو با Schema مد نظرت چک کن اگه برابر بود برنامه می تونه کارش رو ادامه بده وگرنه پیام مناسب رو میده اگه اشتباه نکنم تابعش هم GetSchema هست که نام Object دیتابیس رو میگیره و Schemaش رو برمی گردونه

البته می تونی رو دیتابیس های SDF رمز هم بزاری که اگه فایل کاربر با رمزی که خودت می دونی باز نشد مشخص میشه که فایل مربوط به برنامه شما نیست (روش خیلی مناسبی شاید نباشه و کارش راحت تر هست)

barnamenevisjma
سه شنبه 27 اردیبهشت 1390, 00:56 صبح
خدا رو شکر بالاخره یکی جواب داد ...

برای اینکار Schema دیتابیس معرفی شده توسط کاربر رو با Schema مد نظرت چک کنچطور باید این کار رو انجام بدم؟ واقعا ممنومنتون میشم اگه یه مثال هم بزنید.
با تشکر

علیرضا حسن زاده
سه شنبه 27 اردیبهشت 1390, 09:11 صبح
بررسی کردم SqlCE تابع GetSchema رو پشتبانی نمیکنه ولی می تونی از طریق کد زیر کار اون تابع رو شبیه سازی کنی:

public string GetTableNams()
{
string retVal = string.Empty;
_comm.CommandText = "SELECT * FROM INFORMATION_SCHEMA.TABLES";
using (DbDataReader reader =_comm.ExecuteReader())
{
while (reader.Read())
{
retVal += reader[0]+Environment.NewLine;
}
}
return retVal;
}
این تابع نام جداول موجود در دیتابیس رو در یک رشته بر میگردونه
برای بقیه اطلاعات هم مثل نام ستون ها و مقدار و ... می تونی با کمی تغییرات از همین روش استفاده کنی