PDA

View Full Version : سوال: آزاد سازی حافظه بعد از خواندن دیتابیس



nevin2007
شنبه 18 خرداد 1387, 13:46 عصر
سلام
من یه table توی یک دیتابیس اکسس دارم که حجمش 15MB هستش مشکل اینه که وقتی با odbc اونو جستجو می کنم و با reader می خونم حجم حافظه مصرفی حدود 13MB زیاد میشه ( همیشه فقط یک رکورد با شرایط جستجو مطابق است) این حافظه حتی بعد از بستن reader و connection هم آزاد نمیشه و همینطور باقی می مونه . دوستان لطفا راهنمایی کنن که چطوری میتونم این حافظه رو آزاد کنم چون این جستجو فقط یک بار در هنگام ورود هر کاربر انجام میشه و بعد از ورود دیگه کاربردی نداره:ناراحت:

مهدی کرامتی
شنبه 18 خرداد 1387, 14:03 عصر
چرا از SQLCommand برای خوندن اون رکورد استفاده نمیکنی؟

nevin2007
دوشنبه 20 خرداد 1387, 09:49 صبح
سلام


چرا از SQLCommand برای خوندن اون رکورد استفاده نمیکنی؟


چه طوری برای خواندن دیتابیس اکسس از SQLCommand استفاده کنم کدی که من استفاده کردم رو مینویسم میشه راهنمایی کنید






Dim connectStringpers As String = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("//") & "db\data1.mdb;"
Dim cn2 As Odbc.OdbcConnection = New Odbc.OdbcConnection(connectString)
cn2.Open()
Dim selectString As String = "SELECT * FROM file1"
Dim cmd As Odbc.OdbcCommand = New Odbc.OdbcCommand(selectString, cn2)

' khat zir memory ra eshghal mikonad
Dim reader As Odbc.OdbcDataReader = cmd.ExecuteReader()

reader.close()
cmd.connection.Close()
cn2.close
' memory hanoz eshghal ast va azad nashode

b581102
دوشنبه 20 خرداد 1387, 10:58 صبح
اين رو امتحان کن :


reader.dispose();
cmd.dispose();
cn2.dispose();

nevin2007
دوشنبه 20 خرداد 1387, 14:35 عصر
اين رو امتحان کن :


reader.dispose();
cmd.dispose();
cn2.dispose();



با سلام
اجرای dispose تنها 5KB حافظه را آزاد می کند ( نمایش از تسک منیجر ویندوز )

Amir Taghavi
دوشنبه 20 خرداد 1387, 14:39 عصر
از using کن:


using (resource)
{

}

nevin2007
دوشنبه 20 خرداد 1387, 19:54 عصر
از using کن:


using (resource)
{

}


من از VB در ASP.net استفاده کردم ( در کد ارسالی مرحله قبل مشخصه ) اما دستور using مربوط به C هستش میشه بگین در VB از چی استفاده کنم

Amir Taghavi
سه شنبه 21 خرداد 1387, 11:06 صبح
Using resource As New Object

End Using

nevin2007
پنج شنبه 23 خرداد 1387, 18:09 عصر
Using resource As New Object

End Using


آیا این کد توی .net 1.1 کار می کنه ( من که نتونستم ازش استفاده کنم ) ؟
کلمه using مربوط به کدام namespace است. میشه نحوه استفاده از این کد رو توضیح بدین:ناراحت: