本帖最后由 meteor0330 于 2012-10-17 17:56 编辑 ;搜索
Func sou()
GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)
$sou1 =GUICtrlRead($Input9)
$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 "& $T & " FROM " & $tblname & " IN '" & $mdb_data_path & "' WHERE name = '" & $sou1 & "' OR id = " & $sou1)
;$RS.Open ("SELECT "& $T & " FROM " & $tblname & " IN '" & $mdb_data_path & "' WHERE name = '" & $sou1 & "' OR id= '" & $sou1 & "'")
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,$ListView1 )
$rs.movenext
WEnd
$rs.close
$addfld.Close
EndFunc
代码已经补上。
我的本意是想通过一个输入框来查询数据库,可以查找姓名或者id号都可以。
现在的问题是查找id可以正常运行,但无法查找姓名,一输入姓名查找就进入一个死循环了!
谢谢各位!!!
补充一下:
如果姓名是数字的话可以正常查询,也就是说只能查询数字格式的字符。
----------------------------------------------------------------------
已经解决了,问题是因为我的数据库中这两个字段的类型不相同,看来只能搜索同一类型的多个字段! |