The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBIx::Wrapper::VerySimple - Simplify use of DBI

VERSION

0.051

SYNOPSIS

  use DBIx::Wrapper::VerySimple;
  $db = DBIx::Wrapper::VerySimple->new( $dsn, @other_args ); 
  $hashref = $db->FetchHash($sql, @bind_values);
  $arrayref = $db->FetchAll($sql, @bind_values);
  $rv       = $db->Do($sql, @bind_values);
  $original_args = $db->get_args();  # arrayref
  $dbh      = $db->dbh();  # Raw DBI database handle

DESCRIPTION

Provides a wrapper around DBI.

Note: the reason we don't test the connection and attempt to reconnect is that this module is most likely used in a web environment with mod_perl and Apache::DBI, and Apache::DBI will attempt to reconnect if the database connection dies.

Per-Method Documentation

These are the public methods provided.

new

        my $db = DBIx::Wrapper::VerySimple->new($dsn,$user,password);

$dsn is a DBI DSN, for example:

        $dsn = q{DBI:mysql:database='Accounting'};

or a more complex example:

        $database = 'Accounting';
        $host     = 'data.ourdomain.com';  # Default is usually 'localhost'
        $port     = '4200';  # 3306 is the MySQl default
        $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";

fetch_hash or FetchHash

  $hashref = $db->fetch_hash( $sql, @bind_values );

Returns a HASH ref for one row. Throws an exception if execution fails.

fetch_all or FetchAll

  $arrayref = $db->fetch_all( $sql, @bind_values );

Returns an ARRAY ref of HASH refs. @bind_values are optional. Throws an exception if execution fails.

Do

    $result_code = $db->Do( $sql, @bind_values );

Executes a non-select SQL statement Throws an exception if execution fails.

dbh

  $db->dbh();

Returns the raw database handle from DBI.

get_args

  $db->get_args();

Returns an ARRAY ref of the original args to new();

SEE ALSO

DBI, Apache::DBI

Other Wrapper Modules

DBIx::Simple, DBIx::Wrapper - have more features, but are not as simple as this module.

AUTHOR

Matisse Enzer <matisse@matisse.net>

COPYRIGHT

Copyright (c)2001-2006 by Matisse Enzer

LICENSE

This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)