235 |
|
Query : TIBSQL; |
236 |
|
input : string; |
237 |
|
begin |
238 |
+ |
input := ''; |
239 |
|
if FProcName = '' then |
240 |
|
IBError(ibxeNoStoredProcName,[nil]); |
241 |
|
ActivateConnection; |
303 |
|
else |
304 |
|
DataType := ftFloat; |
305 |
|
SQL_DOUBLE, SQL_FLOAT, SQL_D_FLOAT: DataType := ftFloat; |
306 |
+ |
SQL_BOOLEAN: |
307 |
+ |
DataType := ftBoolean; |
308 |
|
SQL_TEXT: DataType := ftString; |
309 |
|
SQL_VARYING: |
310 |
|
if ((QSelect.Fields[i].AsXSQLVar)^.sqllen < 1024) then |
339 |
|
DataType := ftBCD |
340 |
|
else DataType := ftFloat; |
341 |
|
SQL_DOUBLE, SQL_FLOAT, SQL_D_FLOAT: DataType := ftFloat; |
342 |
+ |
SQL_BOOLEAN: |
343 |
+ |
DataType := ftBoolean; |
344 |
|
SQL_TEXT: DataType := ftString; |
345 |
|
SQL_VARYING: |
346 |
|
if ((QSelect.Params[i].AsXSQLVar)^.sqllen < 1024) then |
419 |
|
|
420 |
|
function TIBStoredProc.ParamByName(const Value: string): TParam; |
421 |
|
begin |
422 |
+ |
Prepare; |
423 |
|
Result := FParams.ParamByName(Value); |
424 |
|
end; |
425 |
|
|
465 |
|
if (Params[j].ParamType <> ptInput) then |
466 |
|
continue; |
467 |
|
if not Params[j].Bound then |
468 |
< |
IBError(ibxeRequiredParamNotSet, [nil]); |
468 |
> |
IBError(ibxeRequiredParamNotSet, [Params[j].Name]); |
469 |
|
if Params[j].IsNull then |
470 |
|
SQLParams[i].IsNull := True |
471 |
|
else begin |
473 |
|
case Params[j].DataType of |
474 |
|
ftString: |
475 |
|
SQLParams[i].AsString := Params[j].AsString; |
476 |
< |
ftBoolean, ftSmallint, ftWord: |
476 |
> |
ftSmallint, ftWord: |
477 |
|
SQLParams[i].AsShort := Params[j].AsSmallInt; |
478 |
+ |
ftBoolean: |
479 |
+ |
SQLParams[i].AsBoolean := Params[j].AsBoolean; |
480 |
|
ftInteger: |
481 |
|
SQLParams[i].AsLong := Params[j].AsInteger; |
482 |
|
ftLargeInt: |
564 |
|
Reader.ReadCollection(Params); |
565 |
|
end; |
566 |
|
|
567 |
< |
end. |
567 |
> |
end. |