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

本文来自于Thinkai’s Blog,thinkai也是我在ahk上面的引路人,对thinkai感兴趣的朋友请关注他的博客。
thinkai的博客简洁、有趣,即便是转载过来我也尽量保持作者原有的风格,主要是方便大家查阅。

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

  1. a := new adodb
  2. a.open("DSN=testdb;UID=thinkai;PWD=password;") ;到DSN里面配置了用户名密码则UID PWD不用配置。
  3. ret := a.GetTable("select getdate()")
  4. MsgBox % ret.1.1
  5. class adodb
  6. {
  7. ;static conn
  8. __New() ;新建
  9. {
  10. this.conn:= ComObjCreate("ADODB.connection") ;初始化COM
  11. }
  12. open(connect_str) ;打开文件
  13. {
  14. try
  15. this.conn.Open(connect_str)
  16. catch e
  17. return e.Message
  18. }
  19. close() ;关闭文件
  20. {
  21. this.conn.Close()
  22. }
  23. GetTable(sql)
  24. {
  25. t := []
  26. query := this.conn.Execute(sql)
  27. if RegExMatch(sql,"i)^select*")
  28. {
  29. try
  30. {
  31. fetchedArray := query.GetRows() ;取出数据(二维数组)
  32. colSize := fetchedArray.MaxIndex(1) + 1 ;列最大值 tips:从0开始 所以要+1
  33. rowSize := fetchedArray.MaxIndex(2) + 1 ;行最大值 tips:从0开始 所以要+1
  34. loop, % rowSize
  35. {
  36. i := (y := A_index) - 1
  37. t[y] := []
  38. loop, % colSize
  39. {
  40. j := (x := A_index) - 1
  41. t[y][x] := fetchedArray[j,i] ;取出二维数组内值
  42. }
  43. }
  44. }
  45. query.Close()
  46. return t
  47. }
  48. }
  49. }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
其他教程

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

2020-2-16 10:15:31

其他教程

Class_MySQLAPI.ahk及简单测试 Autohotkey

2020-2-16 10:23:09

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
私信列表
搜索