PDA

View Full Version : (کمک فوری ) من 15 جدول دارم آیا برای هر جدول باید یک adotable در دلفی بسازم؟



abdulhossain
سه شنبه 14 خرداد 1392, 14:27 عصر
دوستان عزیز، من یک بانک با اسکیوال سرور دارم که 15 جدول دارد و حالا در دلفی یک داتاماژول دارم آیا داخل داتا ماژول باید 15 تا adotable و 15 تا datasource و یک adoconnection بگذارم ، یا کدام راه منطقی تری وجود دارد، نا گفته نماند در چند فرم باید همزمان 4 تا جدول باهم باز باشند.

farzadkamali
سه شنبه 14 خرداد 1392, 16:53 عصر
من همین کار رو انجام میدم و نام adotable ها رو نام جدول ها میزارم که قاطی نکنم.
مگه اینکه راه حل ساده تری وحود داشته باشه که در این صورت اگر اساتید بگن عالیه.

benyaminrahimi
چهارشنبه 15 خرداد 1392, 10:50 صبح
برای راحت و کارا بودن
1 adoconection بر روی ماژول

روی هر فرم یه ado تیبل و دیتا سورس

میتونید 15 تارم تو ماژول بذارید ولی بهتر اینه که رو هر قرم dataset خودش باشه که وقتی فرم بسته میشه از حافظه free شه اینو وقتی متوجه میشید که تو یه بانک سنگین ببینید

یوسف زالی
چهارشنبه 15 خرداد 1392, 21:00 عصر
راهی که ارائه دادید راه خوبی هست.
معمولا اکثر برنامه ها از همین روش استفاده می کنند.
اما ممکنه برنامه هایی وجود داشته باشند (مثل برنامه ی ریالی کردن انبار) که نیاز باشه یک فرم چندین بار همزمان در حافظه وجود داشته باشه. در این جور فرم ها نیازی نیست همه ی دیتاست ها موازی هم روی فرم هاشون باز باشند. یک دیتاست روی ماژول می گیرند و اون رو باز می کنند.
راه دیگش اینه که به صورت ران تایم کار کنید.
راه دیگش اینه که چند تا دیتاست و دیتاسورس جنرال استفاده کنید و هنگام باز کردنشون اونها رو متصل به اشیای دی بی مناسب کنید. مثلا قبل از باز کردن اسم جدول رو ست کنید..

benyaminrahimi
پنج شنبه 16 خرداد 1392, 17:43 عصر
اگر چند فرم از یک دیتاست فچ کنن وقتی مثلا recno عوض شه تو بقیه فرمها به مشکل میخورین .... بله میشه یه پترن abstract هم برای این کار نوشت ولی باید به نوع سوال پرسش کننده دقت کرد

Felony
جمعه 17 خرداد 1392, 08:33 صبح
برای راحت و کارا بودن
1 adoconection بر روی ماژول

روی هر فرم یه ado تیبل و دیتا سورس

میتونید 15 تارم تو ماژول بذارید ولی بهتر اینه که رو هر قرم dataset خودش باشه که وقتی فرم بسته میشه از حافظه free شه اینو وقتی متوجه میشید که تو یه بانک سنگین ببینید

بهتره تمام اشیاء مربوط به بانک اطلاعاتی در دیتاماژول قرار بگیرند ( حالا نه لزوما یک دیتاماژول ) ، نه نیاز هست و نه اصولی که یک ADOTable مستقیم در یک فرم قرار بگیره و به شما دسترسی مستقیم به بانک بده !

دیتاماژول به عنوان یک کلاس باید برای شما عمل کنه ، یک کلاس هست که یک سری اشیاء ویژوال روی خودش داره و شما حق نداری به صورت مستقیم از این اشیاء استفاده کنی !

شما تو دیتاماژول یکسری متد مینویسی که موارد مورد نیاز رو پیاده سازی میکنه ، مقلا متد RegisterEmployee ، DeleteEmployee این متدها باید در خود دیتاماژول پیاده سازی بشن و در سطح برنامه فقط اینها رو Call کنید نه اینکه هر جا نیاز داشتی به کارمند رو حذف کنی بزنی ADOTEmployee.Delete !

benyaminrahimi
جمعه 17 خرداد 1392, 12:00 عصر
اقای رییس به سطح سوال دقت کن .. منم برای هر فرم یک دیتا ماژول میگیریم ... باور کن حق داریم دیگه تو ایران این یکی حقو داریم :) شما گویا دوست داری سر هر چی چه با دلیل چه بیدلیل مودولاتور بذاری ... خوب کارت درسته دیگه