alibilgats
پنج شنبه 19 آذر 1388, 13:34 عصر
با سلام.
میرم سر اصل مطلب!
فرض کنید شما یه فرم دارید که یه دیتاگرید هم روی اون گذاشتید و از طریق DataSet,DataTableAdapter,DataBindingsource به یک جدول توی بانک اطلاعاتی SQL متصل شدید . توی Load فرم هم این کد رو نوشتید :
this.MyTableAdapter.Fill(this.MyDataset.MyTable);
وقتی ما این فرم رو باز میکنیم اطلاعات از داخل دیتابیس به حافظه کشیده میشه و به همین اندازه به میزان حافظه اشغال شده توسط برنامه ما اضافه میشه . اگه این فرم ما فرم اصلی برنامه باشه با بسته شدن این فرم اجرای برنامه ما هم تموم میشه و بطور اتوماتیک حافظه گرفته شده آزاد میشه .
اما اگه فرم ما فرم اصلی نباشه و ما بتونیم هر چند بار که بخواییم اونو باز و بسته کنیم در هر بار که این فرم باز میشه به حافظه اشغال شده اضافه میشه ولی با بسته شدن فرم حافظه آزاد نمیشه . یعنی هر بار که این فرم رو باز کنیم به حافظه اشغال شده توسط برنامه ما افزوده میشه . اگر فرض کنیم حجم اطلاعات استخراج شده از بانک اطلاعاتی بالا باشه معلوم نیست چه فاجعه ای رخ بده.
حالا من از شما اساتید خواهش میکنم تا اگه را حلی برای این موضوع دارید کمکم کنید.
یعنی بگید چطور میتونم حافظه رو بع از بسته شدن فرم آزاد کنم تا مشکلی پیش نیاد.
ممنون.
میرم سر اصل مطلب!
فرض کنید شما یه فرم دارید که یه دیتاگرید هم روی اون گذاشتید و از طریق DataSet,DataTableAdapter,DataBindingsource به یک جدول توی بانک اطلاعاتی SQL متصل شدید . توی Load فرم هم این کد رو نوشتید :
this.MyTableAdapter.Fill(this.MyDataset.MyTable);
وقتی ما این فرم رو باز میکنیم اطلاعات از داخل دیتابیس به حافظه کشیده میشه و به همین اندازه به میزان حافظه اشغال شده توسط برنامه ما اضافه میشه . اگه این فرم ما فرم اصلی برنامه باشه با بسته شدن این فرم اجرای برنامه ما هم تموم میشه و بطور اتوماتیک حافظه گرفته شده آزاد میشه .
اما اگه فرم ما فرم اصلی نباشه و ما بتونیم هر چند بار که بخواییم اونو باز و بسته کنیم در هر بار که این فرم باز میشه به حافظه اشغال شده اضافه میشه ولی با بسته شدن فرم حافظه آزاد نمیشه . یعنی هر بار که این فرم رو باز کنیم به حافظه اشغال شده توسط برنامه ما افزوده میشه . اگر فرض کنیم حجم اطلاعات استخراج شده از بانک اطلاعاتی بالا باشه معلوم نیست چه فاجعه ای رخ بده.
حالا من از شما اساتید خواهش میکنم تا اگه را حلی برای این موضوع دارید کمکم کنید.
یعنی بگید چطور میتونم حافظه رو بع از بسته شدن فرم آزاد کنم تا مشکلی پیش نیاد.
ممنون.