Autor Beitrag
Mojito
Hält's aus hier
Beiträge: 8

Win Vista, 7
C#, VB 6
BeitragVerfasst: Sa 13.06.09 20:01 
Hallo erst mal,
ich habe da ein kleines Problem. Habe auch leider hier nichts gefunden was mir helfen würde.

És geht um folgendes ich lese einige Datensetze aus einer Tabelle aus und nun möchte ich mit den ausgelesenen Daten ein Array Structur füllen nun möchte ich wissen wie gross ich das array machen muss. Das will ich dann über die Anzahl der zurückgegeben Datensetze machen.

Doch wie? :) Ich habe bis jetzt immer nur mit VB6 gearbeitet und da geht es ja ganz einfach über recordcount..

Ich hoffe Ihr könnt mir hefen.

Vielen dank schon mal im vorraus.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 14.06.09 12:04 
Hallo Jürgen :wink:

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