Подскажите как правильно передать параметри в компонент TSQLQUERY c пакета dbExpress
os: windows programm: XE2 BD: oracle,db2
| Код | SQL.Text := 'DECLARE P_XML CLOB; P_PARAM CLOB;'+'begin '+ AddClob('P_XML', AXMLPacket)+AddClob('P_PARAM', AParams)+ 'INSERT INTO TBL_TXN (ORG_ID, TXN_TYPE_ID, DATA_RECEIVED, '+ 'DATE_STARTED, SRC_ID, HOST, PARAMS) VALUES ('+ IntToStr(AOrgID)+','+IntToStr(l_TransCode)+ ','+'P_XML,'+'timestamp'+ QuotedStr(DateTimeToStr(Now, p_FormatSettings2))+','+ QuotedStr(ATransID)+','+QuotedStr(AHost)+',P_PARAM) '+ 'RETURNING TXN_ID INTO :P' + 'end;'
Prepared := True; Params[0].AsInteger := 100; Params[0].Name := 'P'; Params[0].ParamType := ptOutput; Params[0].DataType := ftInteger; ExecSQL; // TDBXError with message 'ORA-01036: illegal variable name/number'.
|
|