|
NAMEPOE::Component::LaDBI::Request - Class to encapsulate LaDBI requests to be executed by POE::Component::LaDBI::Engine. SYNOPSISExcuse the vulgarities, I was tired and maybe even a little drunk ;). use POE::Component::LaDBI::Request;
$dsn = 'dbi:Sybase:server=biteme;hostname=sybdb.biteme.com;database=biteme',
$user = 'pimple';
$passwd = 'oNMyaSS';
$req = POE::Component::LaDBI::Request->new(Cmd => 'connect',
Data => [$dsn, $user, $passwd]);
$eng = POE::Component::LaDBI::Engine->new();
$resp = $eng->request( $req );
die "connect failed" unless $resp->code eq 'OK';
$dbh_id = $resp->handle_id;
$sql = 'SELECT * FROM candidates WHERE jaws = ? AND willingness = ?'
$req = POE::Component::LaDBI::Request->new(Cmd => 'prepare',
HandleId => $dbh_id ,
Data => [$sql] );
$resp = $eng->request( $req );
die "prepare failed" unless $resp->code eq 'OK';
$sth_id = $resp->handle_id;
$req = POE::Component::LaDBI::Request->new(Cmd => 'execute',
HandleId => $sth_id ,
Data => ['WEAK','HIGH']);
$resp = $eng->request( $req );
die "execute failed" unless $resp->code eq 'OK';
$req = POE::Component::LaDBI::Request->new(Cmd => 'rows',
HandleId => $sth_id);
$resp = $eng->request( $req );
die "rows failed" unless $resp->code eq 'OK';
$nr_rows = $resp->data();
$req = POE::Component::LaDBI::Request->new(Cmd => 'fetchrow',
HandleId => $sth_id);
for ($i=0; $i < $nr_rows; $i++) {
$resp = $eng->request( $resp );
die "fetchrow failed" unless $resp->code eq 'OK';
$row = $resp->data();
print "row[$i]: ", join("\t", @$row), "\n";
}
DESCRIPTION
EXPORTNone by default. AUTHORSean Egan, <seanegan:bigfoot_com> SEE ALSOperl, POE::Component::LaDBI::Response, POE::Component::LaDBI::Engine.
|