Ein DataSet wird normalerweise verwendet, um ein Ergebnis aus der Datenbank im Speicher zu halten, d. H. Es enthält ein DataTable-Objekt. Die DataSet- und DataTable-Objekte selbst sind unabhängig von der Datenbank, so dass das Ergebnis nicht von einer Datenbank kommen muss. Das DataSet kann mehrere DataTables enthalten und Sie können sogar Beziehungen zwischen ihnen definieren. Es ist wie eine Mini-Datenbank im Speicher.
Eine Bindungsquelle ist jedes Objekt, das eine Liste von Objekten mit Eigenschaften bereitstellen kann. Ein DataSet oder eine DataTable kann das tun, aber es könnte grundsätzlich jede Art von Liste sein, die Objekte mit Eigenschaften enthält.
Ein TableAdapter wird verwendet, um Daten von einem DataReader zu lesen, der von einem Command-Objekt bereitgestellt wird, und die Daten in ein DataTable-Objekt einzufügen.