;连接数据库 conn := ComObjCreate("ADODB.connection") ;初始化COM conn.Open("driver={SQL Server};server=127.0.0.1;uid=sa;pwd=password;database=a") ;打开连接 result := GetTable("SELECT TOP 10 * FROM [dbo].[area] where area like '%北京%'") MsgBox % var_dump(result) GetTable(sql){ ;Adodb通用的获取数据数组的函数 global conn t := [],f := [] try { query := conn.Execute(sql) fetchedArray := query.GetRows() ;取出数据(二维数组) } catch e { MsgBox, 4112, 出错, % e03.Message "`n请检查!" return [] } ;枚举对象内所有字段名称 for field in query.Fields f[A_index] := field.Name colSize := fetchedArray.MaxIndex(1) + 1 ;列最大值 tips:从0开始 所以要+1 rowSize := fetchedArray.MaxIndex(2) + 1 ;行最大值 tips:从0开始 所以要+1 loop, % rowSize { i := (y := A_index) - 1 t[y] := [] loop, % colSize { j := (x := A_index) - 1 t[y][x] := fetchedArray[j,i] ;取出二维数组内值 t[y][f[x]] := t[y][x] } } query.close() return t } var_dump(obj,level:=0){ static id,str id++ if id=1 str := "" if IsObject(obj) { space = loop % level space .= A_Tab str .= space "{`n" for k,v in obj { if IsObject(v) { str .= space A_Tab (RegExMatch(k,"^d+$") ? k : """" k """") ":`n" var_dump(v,level+1) str := RegExReplace(str,"(*ANYCRLF)n$",",`n") } else str .= space A_Tab (RegExMatch(k,"^d+$") ? k : """" k """") ":""" RegExReplace(v,"""","""""") """,`n" } str := RegExReplace(str,"(*ANYCRLF),n*$","`n") str .= space "}`n" } else str := obj return str }