function IPDOStatement.execute: Boolean; overload;
function IPDOStatement.execute (DelimitedBind: AnsiString): Boolean; overload;
This overloaded function executes a previously prepared statement. The second version of the function combines the steps of variable binding and execution into a single step.
Parameters
For version 1, there are no parameters. Any variable markers must have been previously bound. For version 2, DelimitedBind: This is a string of variables concatenated with a pipe symbol "|" in the order which the markers appear in the original SQL statement.
Return Values
Both versions return TRUE on success or FALSE on failure.
Examples
Example 1. Execute a prepared statement with bound variables
procedure example1;
var
calories: Integer;
color: AnsiString;
Begin
calories := 150;
colour := 'red';
stmt := db.prepare_as_is (
'SELECT name, colour, calories ' +
'FROM fruit ' +
'WHERE calories < :calories AND colour = :colour');
stmt.bindValue ('calories', calories);
stmt.bindValue ('colour', colour);
stmt.execute;
End;
Example 2. Execute a prepared statement with a concatenated piped string of insert values
procedure example2;
var
calories: Integer;
color: AnsiString;
Begin
calories := 150;
colour := 'red';
stmt := db.prepare_as_is (
'SELECT name, colour, calories ' +
'FROM fruit ' +
'WHERE calories < :calories AND colour = :colour');
stmt.execute (format('%s|%s'),[IntToStr(calories),colour]);
end;
Example 3. Execute a prepared statement with question mark placeholders
procedure example3;
var
calories: Integer;
color: AnsiString;
Begin
calories := 150;
colour := 'red';
stmt := db.prepare_as_is (
'SELECT name, colour, calories ' +
'FROM fruit ' +
'WHERE calories < ? AND colour = ?');
stmt.bindValue (1, calories);
stmt.bindValue (2, colour);
stmt.execute;
End;