The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Database::Api - Lowlevel Datenbank-Schnittstelle

BASE CLASS

Quiq::Object

DESCRIPTION

Eine grundlegende Datenbank-Schnittstelle Quiq::Database::Api::* wird durch zwei Klassen definiert:

Quiq::Database::Api::*::Connection

  $db = $class->new($udlObj);  # Datenbankverbindung aufbauen
  $cur = $db->sql($stmt);      # SQL-Statement ausführen
  $db->destroy;                # Datenbankverbindung abbauen

Quiq::Database::Api::*::Cursor

  $cur = $class->new(@keyVal); # Cursor instantiieren
  
  $n = $cur->bindVars;         # Anzahl Bind-Variablen
  $n = $cur->hits;             # Anzahl "Treffer"
  $id = $cur->id;              # Generierter Autoinkrement-Wert
  $titlesA = $cur->titles;     # Kolumnentitel
  
  $cur2 = $cur->bind(@vals);   # Platzhalter einsetzen
  $row = $cur->fetch;          # nächsten Datensatz lesen
  
  $cur->destroy;               # Cursor schließen

Die bislang einzige Lowlevel-Datenbank-Schnittstelle ist DBI, die die beiden Klassen umfasst:

  • Quiq::Database::Api::Dbi::Connection

  • Quiq::Database::Api::Dbi::Cursor

Potentielle andere Lowlevel-Datenbank-Schnittstellen müssen die gleichen Methoden implementieren.

METHODS

Verbindungsaufbau

connect() - Instantiiere Lowlevel-Datenbankverbindung

Synopsis

  $db = $class->connect($udlObj);

Description

Instantiiere eine Lowlevel-Datenbankverbindung auf Basis von UDL-Objekt $udlObj und liefere eine Referenz auf die Datenbankverbindung zurück.

Example

  use Quiq::Database::Api;
  
  my $udl = 'dbi#mysql:test%root';
  my $udlObj = Quiq::Udl->new($udl);
  my $db = Quiq::Database::Api->connect($udlObj);
  print ref($db),"\n";
  __END__
  Quiq::Database::Api::Dbi::Connection

VERSION

1.162

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2019 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.