The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

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

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.225

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2025 Frank Seitz

LICENSE

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