Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.
Формулировка задачи:
Или как сделать чтобы
VB6
работал быстрее?Такой же текст программы на
Access
-е выполняется в миг. Почему наVB6
заметно долго.Решение задачи: «Почему VB6 такой тормозной. Access и тот быстрее обрабатывает таблицы и запросы.»
textual
Листинг программы
ADODB.Connection
<font color="blue">Dim</font> rs <font color="blue">As</font> ADODB.Recordset
<font color="blue">Private</font> <font color="blue">Type</font> TArr
ID <font color="blue">As</font> <font color="blue">Long</font>
CustomerID <font color="blue">As</font> <font color="blue">String</font>
EmployeeID <font color="blue">As</font> <font color="blue">Long</font>
<font color="blue">End</font> <font color="blue">Type</font>
<font color="blue">Dim</font> Arr() <font color="blue">As</font> TArr
<font color="blue">Private</font> <font color="blue">Sub</font> Form_Load()
<font color="blue">Set</font> Conn1 = <font color="blue">New</font> ADODB.Connection
Conn1.CursorLocation = adUseClient
Conn1.<font color="blue">Open</font> <font color="teal">"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind"</font>
GetArray
<font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Long</font>
<font color="blue">Dim</font> s <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">For</font> i = <font color="darkblue"><b>0</b></font> <font color="blue">To</font> <font color="darkblue"><b>10</b></font>
s = s & Arr(i).ID & <font color="teal">", "</font>
<font color="blue">Next</font>
MsgBox s
<font color="blue">End</font> <font color="blue">Sub</font>
<font color="blue">Private</font> <font color="blue">Sub</font> GetArray()
<font color="blue">Dim</font> v <font color="blue">As</font> Variant
<font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Long</font>
<font color="blue">Dim</font> n <font color="blue">As</font> <font color="blue">Long</font>
<font color="blue">Set</font> rs = <font color="blue">New</font> ADODB.Recordset
rs.<font color="blue">Open</font> <font color="teal">"SELECT OrderID, CustomerID, EmployeeID FROM Orders"</font>, Conn1, adOpenForwardOnly, adLockReadOnly, adCmdText
v = rs.GetRows
n = UBound(v, <font color="darkblue"><b>2</b></font>)
<font color="blue">ReDim</font> Arr(n)
<font color="blue">For</font> i = <font color="darkblue"><b>0</b></font> <font color="blue">To</font> n
<font color="blue">With</font> Arr(i)
.ID = v(<font color="darkblue"><b>0</b></font>, i)
.CustomerID = v(<font color="darkblue"><b>1</b></font>, i)
.EmployeeID = v(<font color="darkblue"><b>2</b></font>, i)
<font color="blue">End</font> <font color="blue">With</font>
<font color="blue">Next</font>
<font color="blue">End</font> <font color="blue">Sub</font>