PDA

View Full Version : ایجاد یک Typed Dataset



once4ever
جمعه 02 شهریور 1386, 15:17 عصر
میخوام یک Typed Dataset درست کنم
یعنی یک کلاس از نوع دیتاست که وقتی به فرمم اضافه میکنم
تو قسمت دیزاین بشه اون به دیتاگرید یا بیندینگسورسها بایند کنم

PC2st
شنبه 03 شهریور 1386, 01:03 صبح
مراحل کار برای بانک اطلاعاتی MS Access:

1. پروژه ای که میخوایم از Typed DataSet در اون استفاده کنیم را Open میکنیم.
2. از منوی Data گزینه Add New Data Source را انتخاب میکنیم.
3. از پنجره Data Source Configuration Wizard گزینه Database را انتخاب کرده و روی Next کلیک میکنیم.
4. اگر بار اول باشد که از این Wizard استفاده میکنیم، یک پنجره Change Data Source ظاهر میشود که نوع Microsoft Data Access File را انتخاب کرده و روی OK کلیک میکنیم.
5. از پنجره Data Source Configuration Wizard روی New Connection کلیک میکنیم.
6. اگر بخواهیم نوع بانک اطلاعاتی را عوض کنیم روی دکمه Change کلیک میکنیم (مرحله 4). نوع بانک اطلاعاتی باید از نوع Microsoft Data Access File باشد.
7. روی دکمه Browse کلیک میکنیم تا فایلی که بانک اطلاعاتی در آن قرار دارد را مشخص کنیم.
8. اگر برای دسترسی به بانک اطلاعاتی نیاز به user و pass بود، مقادیر را وارد میکنیم.
9. پس از انجام تنظیمات روی دکمه OK کلیک میکنیم تا دوباره به پنجره Data Source Configuration Wizard بازگردیم.
10. روی Next کلیک کرده و از پیغام ظاهر شده، گزینه Yes را بر می گزینیم.
11. گزینه Yes, save the connection as را به حالت انتخاب در آورده و در انجا نامی را که connection string تحت آن در app config ذخیره میشود را مشخص میکنیم.
12. روی Next کلیک میکنیم.
13. لیست جداول یا View هایی که میخوایم به DataSet قابل استفاده باشه را انتخاب کرده و روی Finish کلیک میکنیم.
14. حتما (حتما یعنی 100 درصد باید انجام دهیم)، حتما پروژه را یک بار با F5 کامپایل کنید.
15. برنامه را متوقف کرده و سپس دوباره به حالت طراحی برگردید.
16. فرمی را که میخواهید در آن از DataSet استفاده کنید را باز کنید. مثلا روی Form1 دابل کلیک کنید تا به حالت Design View از Form1 بروید.
17. به پنل Toolbox دو کامپوننت اضافه شده است که یکی مربوط به Typed DataSet و دیگری مربوط به TableAdapter است که هر دوی آنها را به فرم اضافه میکنیم. (این کار حتما باید صورت گیرد)
18. فقط یک کار دیگر مانده، قبل از اینکه بتوانیم از آن دیتاست استفاده کنیم، باید آنرا پر کنیم، مثلا:


mainLogTableAdapter1.Fill(logDataSet1.MainLog);

mainLogTableAdapter1 و logDataSet1 نام کامپوننت هائیست که برای استفاده از Typed DataSet به پروژه اضافه شده اند و MainTable نام جدولی است که در Typed DataSet قرار دارد.
19. اگر کنترلی مثل DataGridView را به فرم اضافه کنیم، در همان زمان Design خواص DataSource و DataMember را تعیین میکنیم (اختیاری).
20. تمام :لبخند:

once4ever
شنبه 03 شهریور 1386, 08:35 صبح
PC2st.ir جان آخه من با اینهمه زحمتی که کشیدی چیکار کنم؟
ولی یه لحظه فکر نکردی که یه کاربر با 930 پست و ... دیگه اینکاری که نوشتی رو چشم بسته انجام میده ;)) اما ممکن به درد ینفر دیگه بخوره :)
دوست عزیز، میخوام یک کلاس خودم بنویسم (بدون استفاده از ویزارد)
همینکارو کردم و یک کلاس از نوع دیتاست ساختم و تیبل به اون اضافه کردم. اما تیبلها تو قسمت بیندینگ سورس یا برای دیتاگرید شناخته نشدند.
میخوام بدونم چجوری میشه یک کلاس Typed Dataset شبیه به چیزی که با ویزارد ساخته میشه ساخت؟
ممنون

PC2st
شنبه 03 شهریور 1386, 16:55 عصر
ولی یه لحظه فکر نکردی که یه کاربر با 930 پست و ... دیگه اینکاری که نوشتی رو چشم بسته انجام میده ;)) اما ممکن به درد ینفر دیگه بخوره :)
من فقط به نوشتن پست فکر میکنم :بامزه: :-)

اگر میخواید خودتون بنویسید، یکبار از ویزارد استفاده کنید و کدهای تولید شده رو نگاه کنید، و دفعه بعد بجای اینکه از ویزارد استفاده کنید خودت همون کدهای ویزارد رو با دست بنویس!

once4ever
شنبه 03 شهریور 1386, 21:13 عصر
من فقط به نوشتن پست فکر میکنم :-)

مطمئنم متوجه منظورم تو پست دومم نشدی :)
(خیلی سعی کردم تو جوابم از وقتی که گذاشتی و مطلب کامل و استپ بای استپی که نوشتی قدردانی کنم! نمیدونم احتمالا بد برداشت میشه!!! )


اگر میخواید خودتون بنویسید، یکبار از ویزارد استفاده کنید و کدهای تولید شده رو نگاه کنید، و دفعه بعد بجای اینکه از ویزارد استفاده کنید خودت همون کدهای ویزارد رو با دست بنویس! چون از فعالیتت تو این انجمن خوشم اومده بود - همینطور از اخلاقت- این حرفت و یه شوخی میگیرم ;)
مرسی دوست گرامی.
---

خوب دقیقا نمیخوام مثل اون باشه وگرنه از همون ویزارد استفاده میکردم. میخوام یک دیتاست خودم بنویسم با انعطافهایی که مدنظرم هست. اما تنها مشکلی که دارم اینه که تو حالت دیزاین نمیشه از این دیتاست برای بایند کردن استفاده کرد. دنبال یه راه حل هستم برای این مشکلم.

PC2st
شنبه 03 شهریور 1386, 22:19 عصر
مطمئنم متوجه منظورم تو پست دومم نشدی :)
دوست عزیز و استاد خوب من :لبخندساده: من هیچ کدام از پاسخ هات رو بد برداشت نکردم.




(خیلی سعی کردم تو جوابم از وقتی که گذاشتی و مطلب کامل و استپ بای استپی که نوشتی قدردانی کنم! نمیدونم احتمالا بد برداشت میشه!!! )
ظاهرا در مورد جمله ای که گفته بودم سوء تفاهم شده. جمله "من فقط به نوشتن پست فکر میکنم" از روی شوخی و مزاح بود که به همین خاطر یک شکلک ":بامزه:" رو بعد از جمله گذاشته بودم! مزاح از اینکه در تلاشم که تعداد پستهام رو زیاد کنم.

در واقع اینطوری به قضیه نگاه کنید:
+ شما گفته بودید که پست من بدردتون نمی خوره و ممکنه بدرد دیگران بخوره...
+ منم به شوخی گفتم که اشکال نداره، میخواستم تعداد پست هام زیاد تر بشه.




چون از فعالیتت تو این انجمن خوشم اومده بود - همینطور از اخلاقت- این حرفت و یه شوخی میگیرم ;)
متوجه نمیشم! :متعجب: اگر جایی بد صحبت کردم شدیدا عذر میخوام. :ناراحت:
اون راه حلی رو که گفتم، واقعا راه حلی بود که به ذهنم رسید (شاید بخاطر تازه کار بودن چنین راه حلی رو پیشنهاد دادم)، یعنی اگر من میخواستم چیزی مثل typed data set رو بنویسم، ابتدا کدهای ایجاد شده از wizard رو نگاه میکردم و بعد بصورت دستی کدها رو مینوشتم تا خودم یک typed data set رو نوشته باشم. واقعا این راه حل من بود، نه اینکه بخوام قصد توهینی داشته باشم با توجه به اینکه من اجازه توهین کردن به کسی رو ندارم.

در هرصورت اگر در جمله بندی ها، جایی اشتباه کرده بودم، از نگاه مثبت به قضیه نگاه کنید.
امیدوارم که این سوء تفاهم همینجا بر طرف بشه.

ghafoori
یک شنبه 04 شهریور 1386, 09:08 صبح
دوست عزیز شما باید Typed Dataset خود را در پنجره data source اضافه کنید برای اینکار گزینه add new datasource را کلیک کنید و نوع دیتاسورس را object در نظر بگیر بعد لیستی از کلاس های پروژه شما می اید بعد کلاس Typed Dataset خود را انتخاب کنید اگر کد را درست نوشته باشید حتما داخل پنجره دیتا سورس لیست جدول می اید

once4ever
دوشنبه 05 شهریور 1386, 19:48 عصر
اگر کد را درست نوشته باشید حتما داخل پنجره دیتا سورس لیست جدول می اید
مشکل همینجاست
چون کد هیچ اشکالی نمیگیره اما لیست جدولهای دیتاست توی دیزاین نمیاد!
شما اینکارو انجام دادید؟