X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FDBUtils.pm;h=1ded2d271105ae5ebaa21e7f309b57211ba4b214;hb=8f22296683049a5d5824ae361cf789d57b60766c;hp=7a0b9cf48d0fa1796a78082a448e47214d477448;hpb=9d047497dcea5258e2fab7eb2cbe8606a74f27e0;p=kivitendo-erp.git diff --git a/SL/DBUtils.pm b/SL/DBUtils.pm index 7a0b9cf48..1ded2d271 100644 --- a/SL/DBUtils.pm +++ b/SL/DBUtils.pm @@ -4,7 +4,7 @@ require Exporter; @ISA = qw(Exporter); @EXPORT = qw(conv_i conv_date conv_dateq do_query selectrow_query do_statement - dump_query quote_db_date selectall_hashref_query + dump_query quote_db_date selectall_hashref_query selectfirst_hashref_query prepare_execute_query); sub conv_i { @@ -28,14 +28,13 @@ sub conv_dateq { sub do_query { my ($form, $dbh, $query) = splice(@_, 0, 3); - + dump_query(LXDebug::QUERY, '', $query . " (" . join(", ", @_) . ")", @_); if (0 == scalar(@_)) { $dbh->do($query) || $form->dberror($query); } else { $dbh->do($query, undef, @_) || $form->dberror($query . " (" . join(", ", @_) . ")"); } - dump_query(LXDebug::QUERY, '', $query . " (" . join(", ", @_) . ")"); } sub selectrow_query { @@ -88,6 +87,7 @@ sub quote_db_date { sub prepare_execute_query { my ($form, $dbh, $query) = splice(@_, 0, 3); my $sth = $dbh->prepare($query) || $form->dberror($query); + dump_query(LXDebug::QUERY, '', $query . " (" . join(", ", @_) . ")", @_); if (scalar(@_) != 0) { $sth->execute(@_) || $form->dberror($query . " (" . join(", ", @_) . ")"); } else { @@ -110,5 +110,14 @@ sub selectall_hashref_query { return $result; } +sub selectfirst_hashref_query { + my ($form, $dbh, $query) = splice(@_, 0, 3); + + my $sth = prepare_execute_query($form, $dbh, $query, @_); + my $ref = $sth->fetchrow_hashref(); + $sth->finish(); + + return $ref; +} 1;