The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2024 Frank Seitz

LICENSE

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