Class: MissingSchemaAction

Source Location: /MissingSchemaAction.php

Class Overview [line 16]


Definiert einige Werte, die Verhaltensalternativen bei notwendigen Schemaänderungen an einem DataSet repräsentieren.

Author(s):

  • Matthias Ansorg <matthias at ansorgs dot de>

Version:

Copyright:

Variables

Constants

Methods


Inherited Variables

Inherited Constants

Inherited Methods



Class Details

Definiert einige Werte, die Verhaltensalternativen bei notwendigen Schemaänderungen an einem DataSet repräsentieren.

Tags:

[ Top ]


Class Variables


Class Methods

Add

void Add( )

[line 25]

Die zusätzlichen DataColumns werden zum Schema der jeweiligen DataTable hinzugefügt und so das Schema komplettiert.

Tags:

  • access - public

Parameters:

[ Top ]

AddWithKey

void AddWithKey( )

[line 65]

Die zusätzlichen DataColumns werden zum Schema der jeweiligen DataTable

hinzugefügt, außerdem wird der Primary Key der jeweiligen DataTable so eingestellt wie in der entsprechenden DataTable der Quelldaten.

Diskrepanzen im Schema zweier DataTables können in der Menge der DataColumn-Objekte bestehen (wobei jede DataColumn durch ein Tupel (Name,Datentyp) repräsentiert ist). Zusätzlich können Diskrepanzen darin bestehen, welche Untermenge der DataColumns als Primärschlüssel festgelegt wurde. Wird die Primärschlüsseleinstellung nicht mit übernommen (etwa bei Verwendung von MissingSchemaAction::Add()), so kann sich daraus u.U. ein fehlerhaftes Verhalten ergeben. Später hinzuzufügende Zeilen werden angehängt statt dass bisherige Zeilen aktualisiert werden, wie es bei Verwendung des korrekten, neuen Primärschlüssels geschähe.

Beispiel: die Quell-DataTable enthält eine Spalte "ID" mehr und eine geänderte Primärschlüsseleinstellung derart, dass nun diese eine Spalte den Primärschlüssel bildet. In der Ziel-DataTable wird ein zusammengesetzter Primärschlüssel verwendet. Die neue Primärschlüsseleinstellung werde nicht übernommen, anschließend werde eine Zeile eingefügt, die nach dem neuen Primärschlüssel auf eine existierende Zeile passt (also zu einem Update führen müsste), nach der bisherigen Primärschlüsseleinstellung aber auf keine existierende Zeile passt und deshalb angehängt wird.

Die beabsichtigte Aktualisierung ist nur beim Einfügen von DataRows möglich. Bei der Zusammenführung eines DataSet mit anderen Daten durch DataSet::Merge() ist keine Aktualisierung möglich; Zeilen mit gleichem Primärschlüssel in Quell- und Zieldaten werden dort als Fehler gewertet.

Tags:

Parameters:

[ Top ]

Error

void Error( )

[line 76]

Zusätzliche DataColumns, d.h.

inkompatible Schemata, werden als Fehler gewertet

Tags:

  • todo - Beschreibe, wie die Fehlerbehandlung aussieht.
  • access - public

Parameters:

[ Top ]

Ignore

void Ignore( )

[line 86]

Die zusätzlichen DataColumns werden ignoriert

Tags:

  • access - public

Parameters:

[ Top ]


Class Methods


Documentation generated on Tue, 27 Jul 2004 21:15:44 +0200 by phpDocumentor 1.3.0RC3