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

NAME

Quiq::Database::Cursor - Datenbank-Cursor

BASE CLASS

Quiq::Hash

DESCRIPTION

Ein Objekt der Klasse repräsentiert das Resultat einer Statement-Ausführung auf einer Relationalen Datenbank.

METHODS

Konstruktor/Destruktor

new() - Instantiiere Cursor

Synopsis

  $cur = $class->new(@keyVal);

Description

Instantiiere ein Cursor-Objekt mit den Attributen @keyVal und liefere dieses zurück.

close() - Schließe Cursor

Synopsis

  $cur->close;

Alias

destroy()

Description

Schließe Cursor. Die Methode liefert keinen Wert zurück.

Akzessoren

bindVars() - Liefere Anzahl der Bind-Variablen

Synopsis

  $n = $cur->bindVars;

bindTypes() - Setze/Liefere Datentypen der Bind-Variablen

Synopsis

  @arr|$arr = $cur->bindTypes(@dataTypes);
  @arr|$arr = $cur->bindTypes;

db() - Liefere Datenbankverbindung

Synopsis

  $db = $cur->db;

hits() - Liefere Anzahl der getroffenen Datensätze

Synopsis

  $n = $cur->hits;

Description

Liefere die Anzahl der von einem INSERT, UPDATE oder DELETE getroffenen Datesätze.

id() - Liefere Wert der Autoincrement-Kolumne

Synopsis

  $id = $cur->id;

Alias

insertId()

Description

Liefere den Wert der Autoinkrement-Kolumne nach einem INSERT.

rowOperation() - Liefere die Datensatz-Operation

Synopsis

  $op = $cur->rowOperation;

Description

Liefere die von save() durchgeführte Datensatz-Operation: 0, 'I', 'U' oder 'D'.

rowClass() - Liefere Namen der Datensatz-Klasse

Synopsis

  $rowClass = $cur->rowClass;

stmt() - Liefere SQL-Statement

Synopsis

  $stmt = $cur->stmt;

Description

Liefere das SQL-Statement, wie es an das DBMS übermittelt und von ihm ausgeführt wurde. Das von der Methode gelieferte Statement kann von dem Statement, das beim Aufruf angegeben wurde, verschieden sein, da ggf. interne Transformationsschritte auf das Statement anwendet wurden.

titles() - Liefere Liste der Kolumnentitel

Synopsis

  @titles | $titlesA = $cur->titles;

Description

Liefere die Liste der Kolumnenwerte. Im Skalarkontext liefere eine Referenz auf die Liste.

Tests

fromCache() - Liefert der Cursor Datensätze aus dem Cache?

Synopsis

  $bool = $cur->fromCache;

Description

Liefere wahr, wenn der Cursor Datensätze aus dem Cache liefert, andernfalls falsch.

isSelect() - Liefert der Cursor Datensätze?

Synopsis

  $bool = $cur->isSelect;

Description

Liefere wahr, wenn der Cursor Datensätze liefert, andernfalls falsch.

Time Measurement

startTime() - Liefere Startzeitpunkt der Statement-Ausführung

Synopsis

  $time = $cur->startTime;

execTime() - Liefere Dauer der Statement-Ausführung

Synopsis

  $time = $cur->execTime;

elapsed() - Liefere Dauer seit Start der Statement-Ausführung

Synopsis

  $time = $cur->elapsed;

Alias

time()

Bind

bind() - Binde Werte an Statement und führe Statement aus

Synopsis

  $cur2 = $cur->bind(@vals);

Description

Binde eine Liste von Werten an die Platzhalter eines zuvor präparierten SQL-Statements und führe dieses Statement auf der Datenbank aus. Die Anzahl der Werte muß ein Vielfaches der Anzahl der Bind-Variablen sein.

Fetch

fetch() - Liefere nächsten Datensatz der Ergebnismenge

Synopsis

  $row = $cur->fetch;

Description

Liefere den nächsten Datensatz aus der Ergebnismenge. Ist das Ende der Ergebnismenge erreicht, liefere undef.

fetchAll() - Liefere gesamte Ergebnismenge

Synopsis

  @rows | $tab = $cur->fetchAll;
  @rows | $tab = $cur->fetchAll($autoClose);
  @rows | $tab = $cur->fetchAll($autoClose,$limit);

Arguments

$autoClose (Default: 0)

Ist Parameter $autoClose angegeben und wahr, schließe den Cursor automatisch.

$limit (Default: 0)

Fetche maximal $limit Datensätze. Falls 0, fetche alle Datensätze.

Returns

Liste der Datensätze (List-Kontext) der ein Resultset-Objekt (Skalar-Kontect).

Description

Liefere die Ergebnismenge als Liste von Datensätzen oder als Tabelle. Ist der Parameter $autoClose angegeben und "wahr" schließe den Cursor automatisch.

VERSION

1.159

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.