Конференция "Базы" » Получить текст запроса с параметрами из IBSQL [D7]
 
  • Цукор5 (14.09.16 10:50) [0]
    Добрый день.

    Есть такой код:

    IBSQL1.SQL.Add('INSERT INTO NEWLENTA VALUES (GEN_ID(IDNEWLENTA,1),:DEVICEID, ...');
    IBSQL1.ParamByName('DEVICEID').AsInteger:=12345;
    ...



    Где-то в коде, при выполнении запроса происходит исключение (я его улавливаю в блоке try except). Моя задача разобраться, что не так с запросом или переданным в запрос параметром.

    Но как его достать?
    IBSQL1.SQL.Text — вернет просто запрос без значений параметров.
    А как же получить полноценный запрос с параметрами? Т.е. строку: INSERT INTO NEWLENTA VALUES (GEN_ID(IDNEWLENTA,1),12345, ...

    Спасибо!
  • iop © (14.09.16 11:07) [1]
    параметры - это параметры.
    это не макроподстановка.
    нигде и никогда ты не найдешь текста запроса с подставленными значениями параметров.
  • Цукор5 (14.09.16 11:29) [2]
    Понял.

    Тогда хотя бы понять, на каком из запросов падение.

    Я правильно понимаю, что следующий код подскажет где проблема?


    try
     IBSQL1.SQL.Add('...');
     IBSQL1.ExecQuery;
     IBSQL1.SQL.Add('...');
     IBSQL1.ExecQuery;
     IBSQL1.SQL.Add('...');
     IBSQL1.ExecQuery;
    except
     Log.Save('Ошибка при выполнении запроса:' + IBSQL1.SQL.Text)
    end

  • iop © (14.09.16 11:39) [3]
    except
    on e:exception do
          Log.Save(e.message + #13#10 + IBSQL1.SQL.Text)
    end
 
Конференция "Базы" » Получить текст запроса с параметрами из IBSQL [D7]
Есть новые Нет новых   [134427   +34][b:0][p:0.001]