在ado中使用ODBC的dsn连接Oracle、Mysql等数据库 Autohotkey

本文来自于Thinkai’s Blog,thinkai也是我在ahk上面的引路人,对thinkai感兴趣的朋友请关注他的博客。
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}}人
人已捐赠
其他教程

获取MySQL(或其他服务)执行程序路径 Autohotkey

2020-2-16 10:15:31

其他教程

Class_MySQLAPI.ahk及简单测试 Autohotkey

2020-2-16 10:23:09

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