#Region Includes
#Include <Array.au3>
#EndRegion Includes
#NoTrayIcon
Global $oMySQLError = ObjEvent("AutoIt.Error", "_MySQLError")
Dim $sDBServerIP = "" ; IP адресс севера с MySQL
Dim $sDBUsername = "" ; Имя пользователя для подключения к базе данных
Dim $sDBPassword = "" ; Пароль
Dim $sDatabase = "test_db" ; База Данных к которой будем подключаемся
; Подключаемся к Серверу
Global $MySQLConn = ObjCreate("ADODB.Connection")
$MySQLConn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=" & $sDBServerIP & ";DATABASE=" & $sDatabase & ";UID=" & $sDBUsername & ";PWD=" & $sDBPassword & ";PORT=3306")
; Создаем таблицу
Dim $sTableName = "test_tbl"
Dim $sCreateTableQuery = "CREATE TABLE `" & $sTableName & "` (`col0` VARCHAR( 15 ) NULL, `col1` VARCHAR( 15 ) NULL, `col2` VARCHAR( 15 ) NULL, `col3` VARCHAR( 15 ) NULL, PRIMARY KEY (`col0`))"
$sCreateTableQuery &= "ENGINE = MYISAM"
$MySQLConn.Execute($sCReateTableQuery)
; Добавляем Записи в Таблицу
Dim $sInsertQuery = "INSERT INTO `" & $sTableName & "` (`col0`, `col1`, `col2`, `col3`) VALUES ('Col 0 Row 1', 'Col 1 Row 1', 'Col 2 Row 1', 'Col 3 Row 1');"
$MySQLConn.Execute($sInsertQuery)
; Получаем кол-во столбцов в таблице
Dim $iColCount = 0
$oColCountQuery = $MySQLConn.Execute("SHOW COLUMNS IN `" & $sTableName & "`")
With $oColCountQuery
While Not .EOF
$iColCount += 1
.MoveNext
WEnd
EndWith
MsgBox(0, "MySQL", "Кол-во Столбцов в таблице = " & $iColCount)
; Получаем кол-во строк в таблице
Dim $iRowCount = 0
$oRowCountQuery = $MySQLConn.Execute("SELECT COUNT(*) FROM `" & $sTableName & "`")
With $oRowCountQuery
While Not .EOF
$iRowCount = $oRowCountQuery.Fields(0).Value
.MoveNext
WEnd
EndWith
MsgBox(0, "MySQL", "Кол-во Строк в таблице = " & $iRowCount)
; Получаем значения из таблицы
Dim $r = 1
Dim $aDBRecords[$iRowCount + 1][$iColCount] = [[$iRowCount, ""]] ; Создаем массив для хранения данных
Dim $oGetRecords = $MySQLConn.Execute("SELECT * FROM `" & $sTableName & "`")
With $oGetRecords
While Not .EOF
For $c = 0 To $iColCount - 1
$aDBRecords[$r][$c] = $oGetRecords.Fields($c).Value ; Заносим данные в массив
MsgBox(0, "MySQL", "Столбцец : " & $c & @CRLF & "Строка : " & $r & @CRLF & "Значение : " & $aDBRecords[$r][$c])
Next
$r += 1
.MoveNext
WEnd
EndWith
_ArrayDisplay($aDBRecords)
; Удаляем Запись из таблицы
Dim $sDereteRecordQuery = "DELETE FROM `" & $sTableName & "` WHERE `col0` = 'Col 0 Row 1'"
$MySQLConn.Execute($sDereteRecordQuery)
; Удаляем только что созданую таблицу
$MySQLConn.Execute("DROP TABLE `" & $sTableName & "`")
; Отключаемся от сервера
$MySQLConn.Close
Func _MySQLError()
$HexNumber = Hex($oMySQLError.number, 8)
MsgBox(16, "MySQL Error", "err.description is : " & @TAB & $oMySQLError.description & @CRLF & _
"err.windescription : " & @TAB & $oMySQLError.windescription & @CRLF & _
"err.number is : " & @TAB & $HexNumber & @CRLF & _
"err.lastdllerror is : " & @TAB & $oMySQLError.lastdllerror & @CRLF & _
"err.scriptline is : " & @TAB & $oMySQLError.scriptline & @CRLF & _
"err.source is : " & @TAB & $oMySQLError.source & @CRLF & _
"err.helpfile is : " & @TAB & $oMySQLError.helpfile & @CRLF & _
"err.helpcontext is : " & @TAB & $oMySQLError.helpcontext)
Exit
SetError(1) ; to check for after this function returns
EndFunc ;==>MyErrFunc