我必须对有性能问题的应用程序进行一些修改。 我运行了探查器,其中一个问题是:
进行SQL查询并将其存储在DataReader中。 查询返回大约2000行。
然后启动while循环
Dim monSQL as IDataReader
monSQL = a SQL Query
Do While monSQL.Read
strArray(0) =
strArray(1) =
strArray(2) =
strArray(3) = monSQL("Something").ToString
strArray(4) = monSQL("Something").ToString
strArray(5) = monSQL("Something").ToString
If Not IsDBNull(monSQL("Something")) Then
strArray(6) = (monSQL("Something"))
strArray(7) = monSQL("Something")).ToString
strArray(8) = monSQL("Something").ToString
strArray(9) = monSQL("Something").ToString
strArray(10) = monSQL("Something").ToString
End If
objListItem = New ListViewItem(strArray)
objListItem.Tag = lngNoLot
ListView.Items.Add(objListItem)
Loop
在while循环中,数据将插入listview
完成循环需要相当长的时间(约10秒)
我有什么选择让事情变得更快?
答案 0 :(得分:1)
尝试在循环更新期间暂停任何绘图:
listView1.BeginUpdate()
// your loop
listView1.EndUpdate()