DBIx::Recordset is a perl module for abstraction and simplification of
The goal is to make standard database access (select/insert/update/delete)
easier to handle and independend of the underlying DBMS. Special attention is
made on web applications to make it possible to handle the state-less access
and to process the posted data of formfields, but DBIx::Recordset is not
limited to web applications.
DBIx::Recordset uses the DBI API to access the database, so it should work with
every database for which a DBD driver is available (see also DBIx::Compat).
Most public functions take a hash reference as parameter, which makes it simple
to supply various different arguments to the same function. The parameter hash
can also be taken from a hash containing posted formfields like those available with
CGI.pm, mod_perl, HTML::Embperl and others.
Before using a recordset it is necessary to setup an object. Of course the
setup step can be made with the same function call as the first database access,
but it can also be handled separately.
Most functions which set up an object return a typglob. A typglob in Perl is an
object which holds pointers to all datatypes with the same name. Therefore a typglob
must always have a name and can't be declared with my. You can only
use it as global variable or declare it with local. The trick for using
a typglob is that setup functions can return a reference to an object, an
array and a hash at the same time.
The object is used to access the object's methods, the array is used to access
the records currently selected in the recordset and the hash is used to access
the current record.
If you don't like the idea of using typglobs you can also set up the object,
array and hash separately, or just set the ones you need.