mssql SQL Sever简单查询示例v2

;连接数据库
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
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他教程

Radmin多主机自动登录ini版

2020-3-17 4:04:03

其他

MultiFiles范例

2020-3-18 20:50:59

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索