Hallo Jürgen
Wo ist bloß meine Glaskugel... Leider verschweigst du uns, wie du die Datensätze ausliest und wo sie landen; dann könnten wir auch antworten.
Wenn das mit
DbDataAdapter.Fill (oder einem TableAdapter) geht, dann bekommst du die Antwort mit MyDataSet.Tables["MyTableName"].
Rows.Count. Aber wenn die Daten schon in einer
DataTable stehen, ist mir schleierhaft, wozu sie in ein Array transportiert werden sollen.
Wenn das mit
ExecuteReader erfolgt, geht es theoretisch mit
RecordsAffected. Aber dieser Wert ist erst dann korrekt, wenn der DataReader wieder geschlossen wurde, also alle Daten übernommen worden sind. Das hilft dir also nicht.
Damit bin ich bei der
Hauptfrage: Wozu willst du überhaupt ein Array verwenden für das Ergebnis der Abfrage? Ein Array hat eine feste Größe. Wenn überhaupt, sollte eine
List<T> verwendet werden. Aber die
DataTable ist genau als Datenmenge im Arbeitsspeicher vorgesehen. Es gibt nur selten Gründe, sie nicht zu verwenden.
Gruß Jürgen