IDalCommand.MaxParamsRows

Syntax

MaxParamsRows: Integer;

Description

The MaxParamsRows property determines the maximum number of processed sets of parameter values.

Comments

This property determines the maximum number of sets that can be specified and processed on calling the Execute method. The parameter values are set in the Params collection. To move to the next set, call the NextParamsRow method.

NOTE. Before the MaxParamsRows property value is specified, specify the data type for each parameter.

Initially, the cursor is put on the first set of parameters, that is why the number of transitions using the NextParamsRow method must be one transition less than the number of filled sets.

Example

Executing the example requires a database with the DB identifier in the repository. The DBMS, to which the database is set up, contains the T_Table table. The table has two fields: string and real.

Sub UserProc;
Var
    Mb: IMetabase;
    DB: IDatabaseInstance;
    Command: IDalCommand;
    Params: IDalCommandParams;
    Sql: String;
    ParamRows, i: Integer;
Begin
    MB := MetabaseClass.Active;
    DB := MB.ItemById("DB").Open(NullAs IDatabaseInstance;
    Sql := "Insert Into T_Table (Field, Field1) Values(:1,:2)";
    Command := DB.Connection.CreateCommand(Sql);
    Command.Type := DalCommandType.Text;
    Command.Parse;
    Command.Prepare;
    Params := Command.Params;
    //Specify types of parameters
    Params.Item(0).DataType := DbDataType.String;
    Params.Item(1).DataType := DbDataType.Float;
    //Number of parameters sets
    ParamRows := 5;
    Command.MaxParamsRows := ParamRows;
    i := 1;
    While i <= ParamRows Do
        Params.Item(0).Value := "№ " + i.ToString;
        Params.Item(1).Value := Math.RandBetween(0, i);
        If i <> ParamRows Then
            Command.NextParamsRow;
        End If;
        i := i + 1;
    End While;
    Command.Execute;
End Sub UserProc;

On executing the example 5 records are inserted into the table. Five parameters sets are formed before inserting.

See also:

IDalCommand