Inherited Variables
Inherited Constants
Inherited Methods
Class Details
Definiert einige Werte, die Verhaltensalternativen bei notwendigen Schemaänderungen an einem DataSet repräsentieren.
Tags:
- author - Matthias Ansorg <matthias at ansorgs dot de>
[ 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:
- todo - Prüfe das in der Dokumentation zu MissingSchemaAction::AddWithKey() wiedergegebene Verständnis von "AddWithKey" nach. Die .NET-Dokumentation ist hier schlecht verständlich (siehe »System.Data.MissingSchemaAction Enumeration (MSDN)«).
- see - DataSet::Merge()
- access - public
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 ]