procedure IPDOStatement.bindTimeValue (valueIndex: Cardinal; PassedValue: TPDOGenericTime); overload;
procedure IPDOStatement.bindTimeValue (valueIndex: AnsiString; PassedValue: TPDOGenericTime); overload;
This overloaded function binds a DATE/TIME structure to a corresponding named or question mark placeholder in the SQL statement that was use to prepare the statement.
Parameters
valueIndex: Parameter identifier. The placeholder can be referenced by either it's 0-indexed position, or its name. For names, the colon is not included, so a placeholder in the statement of :userid has a string valueIndex of userid.
PassedValue: This is the time structure to bind to the placeholder. This is the definition:
TPDOGenericTime = record year: Cardinal; month: Cardinal; day: Cardinal; hour: Cardinal; minute: Cardinal; second: Cardinal; neg: Byte; {boolean: 0 for positive time, 1 for negative time} second_part: Int64; {fraction part of second, not used for MySQL} end;
Examples
Example 1. Execute a prepared statement with bound variables
procedure example1; var logtime: TPDOGenericTime; Begin with logtime do begin year := 2000; month := 4; day := 17; hour := 15; minute := 15; second := 0; neg := 0; second_part := 0; end; stmt := db.prepare_as_is ( 'SELECT user_id, name ' + 'FROM forum_users ' + 'WHERE last_logged_in > :logtime'); stmt.bindTimeValue ('logtime', logtime); stmt.execute; End;
Example 2. Execute a prepared statement with question mark placeholders
procedure example1; var logtime: TPDOGenericTime; Begin with logtime do begin year := 2000; month := 4; day := 17; hour := 15; minute := 15; second := 0; neg := 0; second_part := 0; end; stmt := db.prepare_as_is ( 'SELECT user_id, name ' + 'FROM forum_users ' + 'WHERE last_logged_in > ?'); stmt.bindTimeValue (0, logtime); stmt.execute; End;