Komfort- und Hilfsfunktionen fuer den Datenbankzugriff.
[kivitendo-erp.git] / SL / DBUtils.pm
1 package SL::DBUtils;
2
3 require Exporter;
4 @ISA = qw(Exporter);
5
6 @EXPORT = qw(conv_i conv_date do_query dump_query);
7
8 sub conv_i {
9   my ($value, $default) = @_;
10   return (defined($value) && "$value" ne "") ? $value * 1 : $default;
11 }
12
13 sub conv_date {
14   my ($value) = @_;
15   return (defined($value) && "$value" ne "") ? $value : undef;
16 }
17
18 sub do_query {
19   my ($form, $dbh, $query) = splice(@_, 0, 3);
20
21   if (0 == scalar(@_)) {
22     $dbh->do($query) || $form->dberror($query);
23   } else {
24     $dbh->do($query, undef, @_) ||
25       $form->dberror($query . " (" . join(", ", @_) . ")");
26   }
27 }
28
29 sub dump_query {
30   my ($level, $msg, $query) = splice(@_, 0, 3);
31   while ($query =~ /\?/) {
32     my $value = shift(@_);
33     $value =~ s/\'/\\\'/g;
34     $value = "'${value}'";
35     $query =~ s/\?/$value/;
36   }
37
38   $msg .= " " if ($msg);
39
40   $main::lxdebug->message($level, $msg . $query);
41 }
42
43 1;