sub checkActor { my $self = shift; my %args = @_; die "Must supply value for name" unless ($args{name}); my $retval = $self->_execute( handle => 'appfme', statement => 'findActor', bindvar => [ $args{name} ], output => 1); } sub addActor { my $self = shift; my %args = @_; die "Must supply value for name" unless ($args{name}); my $retval = $self->_execute( handle => 'appfme', statement => 'addActor', bindvar => [ $args{name} ], output => 1); } #### package Movies; use strict; use DBhandler; { # This routine will return a statement based on the arg parsed sub _get_statement { my $self = shift; my %args = @_; my %sql = ( findactor => 'select count(*) where name = ?', addactor => qw/insert into movies_actor values (nextvat('movies_actor_actor_id_seq'), ?/, ); return $sql{$args{statement}}; } # Go execute a statement sub _execute { my $self = shift; my %args = @_; my $retval; $self->_fetch_handle if (! $self->{dbo}); $self->{dbo}->add_sql($args{statement} => $self->_get_statement(statement => $args{statement}) ); $retval = $self->{dbo}->execute(handle => 'appfme', statement => $args{statement}, bindvar => $args{bindvar} , $args{output} => 1, ); # Return a flag if the user exists return $retval if (defined $retval); } sub _fetch_handle { my $self = shift; # Grab a handle to CAPS $self->{dbo} = DBhandler->new( handle => 'appfme', user => 'user', pwd => 'password', sid => 'sid', ); } } sub new { my $pkg = shift; my $self = bless { }, $pkg; return $self; } sub checkActor { my $self = shift; my %args = @_; die "Must supply value for name" unless ($args{name}); my $retval = $self->_execute( handle => 'appfme', statement => 'findActor', bindvar => [ $args{name} ], output => 1); } sub addActor { my $self = shift; my %args = @_; die "Must supply value for name" unless ($args{name}); my $retval = $self->_execute( handle => 'appfme', statement => 'addActor', bindvar => [ $args{name} ], output => 1); } 1