NAME

Data::Phrasebook::SQL::Query - Query Extension to the SQL/DBI Phrasebook Model.

SYNOPSIS

my $q = $book->query( 'find_author' );
my $q = $book->query( 'find_author', 'Dictionary' );

DESCRIPTION

An extension to the SQL class to specifically handle the DBI interface for each query requested.

CONSTRUCTOR

new

Not to be accessed directly, but via the parent Data::Phrasebook, by specifying the class as SQL.

METHODS

sql

Get/set the current sql statement, in a form suitable for passing straight to DBI.

sth

Get/set the current statement handle.

args

Return list of arguments that will be used as bind parameters to any placeholders. Any given arguments will replace the whole list.

Returns list in list context, arrayref in scalar.

order

As for args, but regarding the corresponding list of argument names.

The assorted order_XXX methods are supported as for args_XXX.

dbh

Get/set the database handle.

PREPARATION / EXECUTING METHODS

execute

Executes the query. Returns the result of DBI::execute.

Any arguments are given to order_args with the return of that method being used as arguments to DBI::execute. If no arguments, uses those already specified.

Calls prepare if necessary.

order_args

Given a hash or hashref of keyword to value mappings, organises an array of arguments suitable for use as bind parameters in the order needed by the query itself.

prepare

Prepares the query for execution. This method is called implicitly in most cases so you generally don't need to know about it.

rebind

Rebinds any bound values. Lets one pass a scalar reference in the arguments to order_args and have the bound value update if the original scalar changes.

This method is not needed externally to this class.

DELEGATED METHODS

Any method not mentioned above is given to the statement handle.

All these delegations will implicitly call prepare.

SEE ALSO

Data::Phrasebook, Data::Phrasebook::SQL.

SUPPORT

Please see the README file.

AUTHOR

Original author: Iain Campbell Truskett (16.07.1979 - 29.12.2003)
Maintainer: Barbie <barbie@cpan.org> since January 2004.
for Miss Barbell Productions <http://www.missbarbell.co.uk>.

COPYRIGHT AND LICENSE

Copyright (C) 2003 Iain Truskett.
Copyright (C) 2004-2010 Barbie for Miss Barbell Productions.

This module is free software; you can redistribute it and/or
modify it under the Artistic Licence v2.