kristow13
Новичок
- Сообщения
- 76
- Репутация
- 0
Привет всем.
Пишу скрипт, в котором есть коннект к mysql. Залогиниться и выполнять SQL запросы получается...
Но вот если я делаю SQL запрос SELECT с фильтром для ответа, то при наличии строк после фильтрации, скрипт мой далее работает...
А вот если после SQL запроса с фильтром, ответ без строк из базы, кидает ошибку...
Подскажите, как правильно прописать логику IF ? Чтобы останавливать скрипт, при ответе без строк...
Вот мой код:
Пишу скрипт, в котором есть коннект к mysql. Залогиниться и выполнять SQL запросы получается...
Но вот если я делаю SQL запрос SELECT с фильтром для ответа, то при наличии строк после фильтрации, скрипт мой далее работает...
А вот если после SQL запроса с фильтром, ответ без строк из базы, кидает ошибку...
Подскажите, как правильно прописать логику IF ? Чтобы останавливать скрипт, при ответе без строк...
Вот мой код:
Код:
Global $oMySQLError = ObjEvent("AutoIt.Error", "_MySQLError")
Dim $sDBServerIP = "localhost" ; IP адресс севера с MySQL
Dim $sDBUsername = "" ; Имя пользователя для подключения к базе данных
Dim $sDBPassword = "" ; Пароль
Dim $sDatabase = "" ; База Данных к которой будем подключаемся
; Подключаемся к Серверу
Global $MySQLConn = ObjCreate("ADODB.Connection")
$MySQLConn.Open("DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=" & $sDBServerIP & ";DATABASE=" & $sDatabase & ";UID=" & $sDBUsername & ";PWD=" & $sDBPassword & ";PORT=3306")
; получаем строку с заданием
Dim $zadanie = $MySQLConn.Execute("SELECT * FROM `update` where Flag = 0 order by DT asc limit 1")
if ($zadanie = _MySQLError()) Then ; этот if как правильно прописать? Чтобы останавливать скрипт, при ответе без строк...
MsgBox(0, "Что-то не так", "Ошибка! Ошибка!")
EndIf
ConsoleWrite("mysql ="&$zadanie )
$base = $zadanie.Fields(2).Value ; имя базы
$file = $zadanie.Fields(3).Value ; имя файла
$dt = $zadanie.Fields(0).Value ; дата запроса
ConsoleWrite("Dates ="&$dt )
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