本帖最后由 My2009 于 2012-7-30 08:24 编辑
各位好,现在遇到的问题是想在程式一开始执行时就得到所联接的数据库表中有多少条纪录,现在的做法如下:先调用 du()来展开数据库,再使用 $jls = _GUICtrlListView_GetItemCount($ListView1) 来得到总数,这样就会碰到当数据库纪录上千成万条时,打开程式的时间太长,不知各位有没有好的方法得到这个数据总数?看了搜索中的各位前辈的解答没有解,急啊~~~~~~~~~~~~~·Func du()
GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
$RS =ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
;$RS.Open("select top 20 * from tywb order by id desc")
$RS.Open ("Select "&$T & " From " & $tblname)
while Not $RS.eof And Not $RS.bof
if @error =1 Then ExitLoop
GUICtrlCreateListViewItem($RS.Fields (0).value & '|' & $RS.Fields (1).value & '|' & $RS.Fields (2).value & '|' & $RS.Fields (3).value & '|' & $RS.Fields (4).value & '|' & $RS.Fields (5).value & '|' & $RS.Fields (6).value , $ListView1 )
;_GUICtrlListView_SetTextColor($listview1,GUICtrlSetColor(-1, 0xFF0000))
;GUICtrlSetImage(-1, "shell32.dll", 15)
$rs.movenext
WEnd
$rs.close
$addfld.Close
EndFunc
|