Autohotkey通过连接Oracle、Mysql等数据库(未完)

第一种方法来之ThinkAI

ODBC驱动可以搜索“数据库类型 windows ODBC 插件”安装;DSN需要在开始菜单,Windows管理工具中找“ODBC 数据源(32 位)”,此处如果用32位的AHK则用32位的版本添加,不然无法访问。

a := new adodb
a.open("DSN=testdb;UID=thinkai;PWD=password;") ;到DSN里面配置了用户名密码则UID PWD不用配置。
ret := a.GetTable("select getdate()")
MsgBox % ret.1.1
 
class adodb
{
    ;static conn
 
    __New() ;新建
    {
    this.conn:= ComObjCreate("ADODB.connection") ;初始化COM
    }
 
    open(connect_str) ;打开文件
    {
        try
            this.conn.Open(connect_str)
        catch e
            return e.Message
    }
 
    close() ;关闭文件
    {
        this.conn.Close()
    }
 
    GetTable(sql)
    {
        t := []
        query := this.conn.Execute(sql)
        if RegExMatch(sql,"i)^select*")
        {
            try
            {
                fetchedArray := query.GetRows() ;取出数据(二维数组)
                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] ;取出二维数组内值
                    }
                }
            }
            query.Close()
            return t
        }
    }
}

 

给TA买糖
共{{data.count}}人
人已赞赏
AHKV1

自用的定时喝药AutoHotKey脚本

2018-9-5 9:00:09

AHKV1

惊艳到我的一款时钟

2018-9-6 9:00:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索