Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.3 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67a
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Perl Modules

    Egg::Mod::EasyDBI 0.03

    Download button

    No screenshots available
    Downloads: 341  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Good (3.0/5)
    5 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Masatoshi Mizuno | More programs
    Perl Artistic License / FREE
    March 12th, 2008, 11:05 GMT
    ROOT / Programming / Perl Modules

     Read user reviews (0)  Refer to a friend  Subscribe

    Egg::Mod::EasyDBI description

    Egg::Mod::EasyDBI is a DBI module easily made available.

    Egg::Mod::EasyDBI is a DBI module easily made available.

    SYNOPSIS

    use Egg::Mod::EasyDBI {
    debug => 1,
    trace => 1,
    upgrade_ok => 1,
    clear_ok => 1,
    alias => {
    members => 'member_management_master',
    ...
    },
    sql_abstract=> {
    logic => 'and',
    ......
    },
    };
    use DBI;

    my $dbh= DBI->connect( ...... );
    my $es= Egg::Mod::EasyDBI->new($dbh);

    $ed->trace(1);
    my $db= $es->db;
    my $members= $db->members;

    # SELECT * FROM members WHERE id = ?
    my $hoge= $members->hashref('id = ?', $id)
    || die q{ Data is not found. };

    # SELECT * FROM members WHERE age > ?
    my $list= $members->arrayref('age > ?', 20)
    || die q{ Data is not found. };

    # SELECT id FROM members WHERE user = ?
    my $id= $members->scalar('id', 'user = ?', 'boo')
    || die q{ Data is not found. };

    # The processed list is acquired.
    my $list= $members->arrayref('age > ?', [20], sub {
    my($array, %hash)= @_;
    push @$array, "$hash{id} : $hash{user} : $hash{age}";
    }) || die q{ Data is not found. };

    # The data that can be immediately used is acquired.
    my $text;
    $members->arrayref('age > ?', [20], sub {
    my($array, %hash)= @_;
    $text.= 1, user=> 'zoo', age=> 20 )
    || die q{ Fails in regist of data. };

    # UPDATE members SET other = ?, age = age + 1 WHERE id = ?
    $members->update( id=> 1, other=> 'gao', age=> 1 )
    || die q{ Fails in update of data. };
    or
    $members->update('id = ?', { id=> [1], other=> 'gao', age=> 1 })
    || die q{ Fails in update of data. };

    # The record is added when failing in the update.
    $members->update_insert( user=> 'zaza', age=> 22 );

    # It adds it if there is no record.
    $members->find_insert( user=> 'zaza', age=> 22 );

    # UPDATE members SET age = ?
    $members->upgrade( age=> 20 );

    # DELETE FROM members WHERE user = ?
    $members->delete('user = ?', 'zaza');

    # DELETE FROM members;
    $members->clear;

    # SQL statement is used as it is.
    my $hash = $es->hashref(q{SELECT * FROM members WHERE id = ?}, $id);
    my $list = $es->arrayref(q{SELECT * FROM members WHERE age > ?}, $age);
    my $scalar= $es->scalar(q{SELECT user FROM members WHERE id = ?}, $id);
    $es->do(q{INSERT INTO members (id, user, age) VALUES (?, ?, ?)}, $id, $user, $age);

    # [[SQL::Abstract]] support.
    my $hash = $members->abs_hashref(@fields, %where, @order);
    my $array= $members->abs_arrayref(@fields, %where, @order);
    $members->abs_insert(%fieldvals || @values);
    $members->abs_update(%fieldvals, %where);
    $members->abs_delete(%where);

    # Table uniting.
    #
    # SELECT a.user, a.message, b.id, b.age, c.email_addr
    # FROM messages a JOIN members b ON a.user = b.user
    # LEFT JOIN profiles c ON b.id = c.id
    # WHERE a.message_id = ?
    #
    my $jdb= $es->db(qw/ messages = members:a.user=b.user < profiles:b.id=c.id /);
    my $list= $jdb->arrayref(
    'a.user, a.message, b.id, b.age, c.email_addr',
    'a.message_id = ?', $msgid
    );

    # If you process the transaction
    # If commit_ok is undefined, it is always rollback.
    $es->commit_ok(1);
    $es->close;

    $dbh->disconnect;

    Requirements:

    · Perl



    Product's homepage

    Requirements:

    · Perl

      


    TAGS:

    DBI module | egg class | Perl module | DBI | egg | class

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM