Что нового

[Сеть, интернет] Выполнить команду UPDATE в FireBird

AMSPeople

Новичок
Сообщения
4
Репутация
0
Пытаюсь выполнить код:
Код:
#include <FireBird.au3>
Global $h_fbDll = DllOpen(@ScriptDir & "\fbdll4vb20.dll")
If _FireBird_ConnectDatabase($h_fbDll, 'localhost', "C:\Program Files (x86)\tdt3\bases\TDTBASE.FDB", "SYSDBA", "masterkey") Then
	$r=_FireBird_ExecuteStatement($h_fbDll, 'update "vollink" set "barcode" = "test" where "codeint" = 9419')
EndIf
_FireBird_DisConnectDatabase($h_fbDll)
DllClose($h_fbDll)

Но выскакивает ошибка, что в аттаче.
Как правильно запрос составить?
 

Вложения

  • 1.png
    1.png
    35.9 КБ · Просмотры: 16
Автор
A

AMSPeople

Новичок
Сообщения
4
Репутация
0
Такой код:
Код:
#include <FireBird.au3>
Global $h_fbDll = DllOpen(@ScriptDir & "\fbdll4vb20.dll")
If _FireBird_ConnectDatabase($h_fbDll, 'localhost', "C:\Program Files (x86)\tdt3\bases\TDTBASE.FDB", "SYSDBA", "masterkey") Then
	$r=_FireBird_ExecuteStatement($h_fbDll, 'update "vollink" set "typebc" = 1 where "codeint" = 9419')
	_FireBird_DisConnectDatabase($h_fbDll)
EndIf
DllClose($h_fbDll)

выдает такую ошибку
 

Вложения

  • 2.png
    2.png
    22.2 КБ · Просмотры: 7
A

Alofa

Гость
OffTopic:

Сразу скажу - я не знаток "FireBird.au3".
– Не знаю правда насколько это критично, но у вас в скрипте в функции "_FireBird_ExecuteStatement" не хвотает третьего параметра.


Извините за флуд. Пожалуй выдам себе сегодня бан.
 
Автор
A

AMSPeople

Новичок
Сообщения
4
Репутация
0
А ничего, что даже в том коде, что вы привели, функция принимает всего 2 аргумента?
Код:
_FireBird_ExecuteStatement($h_fbDll, $sCmd)

Где вы третий увидели?


Добавлено:
Сообщение автоматически объединено:

Как выяснилось, перед обновлением БД выполняется триггер из нее:
Код:
AS
begin
  new."codeint"=extractint64(new."codemodel");
end
Функция extractint64 берется из udfdll.dll. Только вот как ее подключить в Автоите? И вообще, возможно ли.
 
Верх