Generierung von SQL-Anweisungen IV

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

TBD/DBI.pm
sub select {
   my ($self, %clauses) = @_;

   my @clauses = (); my @values = ();
   my ($field, $value);
   while (($field, $value) = each %clauses) {
      push(@clauses, "$field = ?");
      push(@values, $value);
   }
   my @keyfields = @{$self->{keyfields}};
   my $keyfields = join(", ", @keyfields);
   my $st = $self->{db}->prepare(
      "select $keyfields from $self->{table} " .
      " where " . join(" and ", @clauses)
   );
   $st->execute(@values);
   my @keys = $self->return_keys($st);
   $st->finish();
   return @keys;
}

*Bei select hängt die SQL-Anweisung direkt von %clauses ab, so daß sie jedesmal neu erzeugt wird.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003