PDA

View Full Version : افزایش سرعت unload برنامه



ASedJavad
یک شنبه 01 آبان 1390, 16:28 عصر
سلام
تو برنامم یه Adodc و یه TreeView دارم
وقتی برنامه لود میشه، Adodc به بانک وصل میشه و یکی یکی مقادیر رو میخونه و میریزدشون تو treeView
حالا وقتی برنامه قراره آنلود بشه به طرز اعصاب خوردکنی طول میکشه
(تو کامپیوتر نسبتا سریع من حدود 5 ثانیه)
راهی هست که سرعت آنلود رو بیشتر کنم؟
در ضمن تو رویداد form_unload هیچ کدی اجرا نمیشه.

kitcat_m18
یک شنبه 01 آبان 1390, 16:40 عصر
دو تا سوال:
بانکت چيه؟؟؟
اطلاعاتت تقريبا چند رکورده؟؟؟
احتما حجم بانکت بالاست که به اين مشکل خوردي
يه پيشنهاد برات دارم از کتابخانه ADODB استفاده کن نه ADODC (من احتمال ميدم مشکلت همين باشه)
اگرم مي توني اطلاعاتت رو تيکه تيکه بار گذاري کن يعني اگه همه اطلاعاتت رو احتياج نداري تو بانکت يه سلکت بزن فقط اونايي که مي خواي رو نمايش بده

ASedJavad
یک شنبه 01 آبان 1390, 21:07 عصر
سلام
بانك اكسس 2003
اطلاعات حدود 2000 ركورده ولي چون متناي طولاني توش داره حدود 65 مگا حجمشه
adodb هم مثل adodc هست؟
روش كارش رو ميگم؟

kitcat_m18
یک شنبه 01 آبان 1390, 21:25 عصر
اطلاعات حدود 2000 ركورده ولي چون متناي طولاني توش داره حدود 65 مگا حجمشه

احتمالا حدسم درسته اگه برات مقدوره يه سورس بذار ببينم داري چيکار مي کني اينطوري گفتن يه کمي سخت ميشه ببين مي توني فقط رکورد هايي رو که احتياج داري سلکت بزني يا نه؟؟؟


adodb هم مثل adodc هست؟

نه ADODB رو با کد نويسي ست مي کنن اما ADODC اکثر کارهاش (تقريبا همش) ويزارديه

موفق باشي

ASedJavad
سه شنبه 03 آبان 1390, 07:56 صبح
کار خاصی تو برنامه نمیکنم
دقیقا همون کاری رو که گفتم انجام میدم.
یعنی در حقیق تفقط فرمم این دستورا رو داره: (البته یه سری دستور مختصر دیگه هم داره که مطمئنم ربطی به سرعت آنلود نداره)


Public Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\m.mdb;Mode=Read;Persist Security Info=False"
Adodc1.RecordSource = "SELECT * FROM speach Order by date DESC;"
Adodc.Refresh
SetRtoL Treeview1
DoEvents
MakeFirstList
End Sub

Private Sub SetRtoL(Ctl As Control)
Ctl.Visible = False
SetWindowLong Ctl.hWnd, GWL_EXSTYLE, GetWindowLong(Ctl.hWnd, GWL_EXSTYLE) Or WS_EX_LAYOUTRTL
Ctl.Visible = True

End Sub

Private Sub MakeFirstList()

On Error Resume Next
Adodc1.Refresh
Adodc1.Recordset.MoveFirst


Dim xNode As Node
For i = 1 To Adodc1.Recordset.RecordCount
Set xNode = Treeview1.Nodes.Add(, , "Tree" & i, Adodc1.Recordset.Fields(0))
xNode.tag=i
Adodc.Recordset.MoveNext
Next i



Tree.Nodes.Item(1).Selected = True

End Sub

mr-adler
سه شنبه 03 آبان 1390, 13:28 عصر
اگه راهکارهایی که دوستان گفتند جواب نداد میشه از یک پروگرس بار برای صفحه خروج استفاده کرد
یا را بهتر اینه که میتونید موقعی که کاربر دکمه خروج رو فشار داد یه انیمیشن بزارید(مثلا در حال دست تکان دادن) که جذابیتش رو هم زیاد تر کنه و در عین حال در حال تنظیم مقدمات برای خروج از برنامه هست.(کاری که خیلی از برنامه ها میکنن)