Страница 19 из 19

Re: Прямой SQL

Добавлено: 13 окт 2016, 14:16
RAJAH
Может, тогда sqlFreeStr(StmtString) ... sqlExecDirect(StmtString)?

Re: Прямой SQL

Добавлено: 13 окт 2016, 14:26
savov
Так там есть sqlFreeStmt(StmtString) . Просто он в первом окошке. А sqlExecDirect(StmtString) я пробовал, такая же картина. Или я не понимаю что вы имеете в виду?

Re: Прямой SQL

Добавлено: 13 окт 2016, 15:36
RAJAH
Эти операторы для разных типов хэндлов.

Re: Прямой SQL

Добавлено: 13 окт 2016, 15:39
savov
и тогда StmtString := sqlAllocStmt;?

Re: Прямой SQL

Добавлено: 13 окт 2016, 15:52
RAJAH
Цитата из работающего frm-отчёта:

Код: Выделить всё

SQLFreeStr(qstr);
SQLAddStr(qstr, 'insert uzpod(fur, fnr)');
sqlAddStr(qstr, 'select '+string(ur)+', catalogs.nrec');
sqlAddStr(qstr, 'from catalogs');
sqlAddStr(qstr, 'inner join uzpod on catalogs.cparent = uzpod.fnr and uzpod.fur = '+string(ur-1));
SQLExecDirect(qstr);

Re: Прямой SQL

Добавлено: 13 окт 2016, 17:15
savov
Rajan, спасибо, но дело оказалось не в бобине....как обычно.
ПО логу Оракла увидел, что запись не идет из-за наличия пустых значений при вставке. Проверил TOAD-ом, действительно так, поля в созданной временной таблице оказались NOT NULL. Как-то можно при создании таблицы указать, что поле может быть NULL?

Re: Прямой SQL

Добавлено: 14 окт 2016, 11:42
sth73
savov писал(а):Rajan, спасибо, но дело оказалось не в бобине....как обычно.
ПО логу Оракла увидел, что запись не идет из-за наличия пустых значений при вставке. Проверил TOAD-ом, действительно так, поля в созданной временной таблице оказались NOT NULL. Как-то можно при создании таблицы указать, что поле может быть NULL?
попробуйте использовать coalescen
в доке по випу есть описание

Re: Прямой SQL

Добавлено: 14 окт 2016, 14:48
savov
Спасибо. Решил по простому: вместо значения '' использовал значение ' '.