ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/IB.pas
(Generate patch)

Comparing ibx/trunk/fbintf/IB.pas (file contents):
Revision 347 by tony, Mon Sep 20 22:08:20 2021 UTC vs.
Revision 349 by tony, Mon Oct 18 08:39:40 2021 UTC

# Line 621 | Line 621 | type
621    end;
622  
623    {The ISQLParam interface is used to provide access to each parameter in a
624 <   parametised SQL Statement. It subclasses IColumnMetaData and this part of
625 <   the interface may be used to access information on the expected SQL Type, etc.
626 <
627 <   It also subclasses ISQLData and this part of the interface may be used to access
628 <   current values for each parameter.
629 <
630 <   Otherwise, the interface comprises the Setter Methods and properties used to
624 >   parametised SQL Statement. The interface comprises the Setter Methods and properties used to
625     set the value of each parameter.
626  
627     Automatic conversion is provided to and from strings. That is GetAsString and
628     SetAsString are safe to use for sql types other than boolean - provided automatic
629     conversion is possible.
630 +
631 +   ISQLParam is subclassed from the IParamMetaData interface. This interface provides
632 +   access to the parameter metadata. This metadata is mutable and can change after
633 +   a parameter is set to a given value. This is acceptable as long as the parameter
634 +   metadata is type compatible with the underlying column metadata and hence the
635 +   parameter value can be converted by Firebird into a value acceptable by the
636 +   underlying column. The column metadata, which is unmutable, can be obtained
637 +   by the ISQLParam.getColMetadata interface. When a statement is prepared, the
638 +   parameter metadata is always initialised to the column metadata.
639    }
640  
641 <  ISQLParam = interface
642 <    ['{b22b4578-6d41-4807-a9a9-d2ec8d1d5a14}']
640 <    function GetIndex: integer;
641 >  IParamMetaData = interface
642 >  ['{4e148c4e-2d48-4991-a263-f66eca05c6aa}']
643      function GetSQLType: cardinal;
644      function GetSQLTypeName: AnsiString;
645      function getSubtype: integer;
644    function getName: AnsiString;
646      function getScale: integer;
647      function getCharSetID: cardinal;
648      function getCodePage: TSystemCodePage;
649      function getIsNullable: boolean;
650      function GetSize: cardinal;
651 +    property SQLType: cardinal read GetSQLType;
652 +  end;
653 +
654 +  ISQLParam = interface(IParamMetaData)
655 +    ['{b22b4578-6d41-4807-a9a9-d2ec8d1d5a14}']
656 +    function getColMetadata: IParamMetaData;
657 +    function GetIndex: integer;
658 +    function getName: AnsiString;
659      function GetAsBoolean: boolean;
660      function GetAsCurrency: Currency;
661      function GetAsInt64: Int64;
# Line 723 | Line 732 | type
732      property IsNullable: Boolean read GetIsNullable;
733      property Modified: Boolean read getModified;
734      property Name: AnsiString read GetName;
726    property SQLType: cardinal read GetSQLType;
735    end;
736  
737     {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines