用 VBScript 的 ADODB 连接 MySQL 数据库
来源:互联网 发布:手机图片尺寸修改软件 编辑:程序博客网 时间:2024/09/21 09:28
#1. 下载MySQL Connector
- 转到地址:http://www.mysql.com/products/connector/
- 根据MySQL的平台版本,下载 ODBC 的Connector (我的MySQL是32位的,虽然我的操作系统是64位的,所以我下载了:mysql-connector-odbc-5.2.5-win32.msi)
#2. 安装MySQL Connector,找出它的Driver字符串以备后用
- 我的连接Driver是:MySQL ODBC 5.2 Unicode Driver
#3. 数据库中数据表结构(我的例子)
CREATE TABLE IF NOT EXISTS `mydb` ( `username` varchar(30) NOT NULL, `password` varchar(30) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`username`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
插入2条数据:
INSERT INTO `mydb` (`username`, `password`, `age`) VALUES('xiwang', '123456', 27),('rizhou', '789', 26);
#4. 使用下边的测试代码(保存成 TestDB.vbs)
Sub MainDim dbSet db = New MySQLDBdb.Connect "test", "root", "xiwang", "localhost", 3306If Err ThenMsgBox Err.Descriptiondb.UnConnectExit SubEnd Ifdb.q("SELECT * FROM `mydb`")If Err ThenMsgBox Err.Descriptiondb.UnConnectExit SubEnd Ifdb.UnConnectIf db.data(0) > 0 ThenMsgBox "Row count: " & db.data(0)MsgBox "1st row: username = " & db.data(1)("username") & ", password = " & db.data(1)("password")MsgBox "2nd row: username = " & db.data(2)("username") & ", password = " & db.data(2)("password")End IfSet db = NothingEnd SubCall Main'''C:\windows\sysWOW64\odbcad32.exe'''C:\windows\system32\odbcad32.exeClass MySQLDB'''Current Error Code:'''- 1'''- 2'''- 3Private oConnPrivate oRecSet'''data(row-index)("column-name") = 'cell value'Public data()Private Sub Class_InitializeEnd SubPrivate Sub Class_TerminateUnConnectErase dataSet dictErrDef = NothingMsgBox "Clean works complete."End Sub'''' Public Methods ''''Public Sub Connect(db,uid,pwd,host,port)on error resume nextErr.ClearDim sConnStr'''Create CONNECTION STRINGsConnStr = "DRIVER={MySQL ODBC 5.2 Unicode Driver};"'sConnStr = "DRIVER={MySQL ODBC 5.2 ANSI Driver};"sConnStr = sConnStr & "Database=" & db & ";"sConnStr = sConnStr & "User=" & uid & ";"sConnStr = sConnStr & "Password=" & pwd & ";"sConnStr = sConnStr & "Server=" & host & ";"sConnStr = sConnStr & "Port=" & port & ";"sConnStr = sConnStr & "Option=3;"'''Create CONNECTIONSet oConn = CreateObject("ADODB.Connection")oConn.Open sConnStrIf Err Or oConn.State = 0 ThenErr.Raise vbObjectError + 1Exit SubEnd IfMsgBox "Connection created."End Sub'''QUERY'Return:'- data(row-index)("column name")Public Function q(sql)on error resume nextErr.ClearDim dictRowDataDim iRowIndexDim i, j'''CLEAN DATAErase data'''CREATE RECORDSETSet oRecSet = CreateObject("ADODB.Recordset")oRecSet.CursorLocation = 3oRecSet.Open sql, oConnIf Err ThenReDim Preserve data(0)data(0) = 0Exit FunctionElseIf oRecSet.RecordCount = 0 Or oRecSet.RecordCount = -1 ThenReDim Preserve data(0)data(0) = 0Exit FunctionEnd IfReDim Preserve data(oRecSet.RecordCount)data(0) = oRecSet.RecordCount'''CURSOR TOPoRecSet.MoveFirstiRowIndex = 1'''CURSOR LOOP (As ROW)Do While Not oRecSet.EOF''will free dictRowData when erase data:arraySet dictRowData = CreateObject("Scripting.Dictionary")For i = 0 To oRecSet.Fields.Count - 1dictRowData(oRecSet.Fields(i).Name) = oRecSet.Fields(i).ValueNextReDim Preserve data(iRowIndex)Set data(iRowIndex) = dictRowDataiRowIndex = iRowIndex + 1oRecSet.MoveNextLoopoRecSet.CloseSet oRecSet = NothingEnd FunctionPublic Sub UnConnect()If oConn Is Nothing ThenExit SubEnd IfoConn.CloseSet oConn = NothingEnd SubEnd Class
#5. 运行结果
依次弹出对话框:- Connection created.
- Row Count: 2
- 1st row: username = xiwang, password = 123456
- 2nd row: username = rizhou, password = 789
- Clean works complete.
----
Have Fun ^_^
----
- 用 VBScript 的 ADODB 连接 MySQL 数据库
- 用VBScript作连接数据库的动态网页
- VBScript脚本连接数据库
- vbscript连接操作mysql
- php adodb连接不同数据库
- php adodb操作mysql数据库
- ADODB连接字符串的格式
- php运用adodb连接不同数据库
- asp.net通过ADODB连接数据库sqlserver
- php运用adodb连接不同数据库
- php运用adodb连接不同数据库(实例)
- php运用adodb连接不同数据库(实例)
- 使用adodb方式连接oracle数据库
- c# 利用ADODB连接ORACLE数据库
- ADODB介绍及其连接mysql简单实例
- ADODB是什么?ADODB是所有数据库的共同接口
- MYSQL数据库的连接
- MySql数据库的连接
- 全面整理的C++面试题
- 鼠标经过图片变亮离开变暗的js特效代码
- 功能强大的JavaScript引擎--SpiderMonkey
- 2013.8.13
- Javascript中window对象、document对象的属性和方法(转)
- 用 VBScript 的 ADODB 连接 MySQL 数据库
- 杂志摄影师信手成经典 揭秘XP“蓝天白云”桌面真景
- [leetcode刷题系列]Scramble String
- 结构体作为函数参数
- HDU4675 GCD of Sequence
- win8(摄像头)相机打不开是怎么回事?
- Android真机/模拟器hosts修改
- 黑马程序员_08集合——Map
- 开发者常用的6款源码搜索引擎