X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/2b664a1f4dd6615a44d6b6aeafca35dc7c6c7984..dad628a3c28d66caf59d23c3c7a8949e39bff81c:/SL/DBUtils.pm diff --git a/SL/DBUtils.pm b/SL/DBUtils.pm index 996add880..ecb809baf 100644 --- a/SL/DBUtils.pm +++ b/SL/DBUtils.pm @@ -3,7 +3,7 @@ package SL::DBUtils; require Exporter; @ISA = qw(Exporter); -@EXPORT = qw(conv_i conv_date do_query selectrow_query dump_query); +@EXPORT = qw(conv_i conv_date conv_dateq do_query selectrow_query do_statement dump_query); sub conv_i { my ($value, $default) = @_; @@ -15,6 +15,15 @@ sub conv_date { return (defined($value) && "$value" ne "") ? $value : undef; } +sub conv_dateq { + my ($value) = @_; + if (defined($value) && "$value" ne "") { + $value =~ s/\'/\'\'/g; + return "'$value'"; + } + return "NULL"; +} + sub do_query { my ($form, $dbh, $query) = splice(@_, 0, 3); @@ -40,6 +49,17 @@ sub selectrow_query { } } +sub do_statement { + my ($form, $sth, $query) = splice(@_, 0, 3); + + if (0 == scalar(@_)) { + $sth->execute() || $form->dberror($query); + } else { + $sth->execute(@_) || + $form->dberror($query . " (" . join(", ", @_) . ")"); + } +} + sub dump_query { my ($level, $msg, $query) = splice(@_, 0, 3); while ($query =~ /\?/) {