bigpoint Geschrieben 13. Juli 2006 Geschrieben 13. Juli 2006 Wie kann ich von SqlDataReader anzahl von Datensätzen auslesen bzw. zurück bekommen? Gibt es da eine Methode oder muss ich den DataReader selber durchlaufen?
Amstelchen Geschrieben 13. Juli 2006 Geschrieben 13. Juli 2006 du hast AFAIR zwei möglichkeiten: a) SqlDataReader durchloopen und selbst zählen: SqlDataReader meinReader; meinReader = myCommand.ExecuteReader(); int cntAnzahlDS = 0; while (meinReader.Read()) { cntAnzahlDS++; } SqlDataReader in ein DataSet umwandeln und dann die DS zählen. s'Amstel
Trux Geschrieben 13. Juli 2006 Geschrieben 13. Juli 2006 als dritte methode, welche ich empfehlen würde, kann man auch den sql-server die "arbeit" erledigen lassen. Also "SELECT COUNT(*) FROM TABLE"
Honkytonk Geschrieben 14. Juli 2006 Geschrieben 14. Juli 2006 Öhm, der letzte Vorschlag ist nicht ganz dein Ernst, oder? Ich glaube bigpoint möchte nicht die Anzahl der Datensätze in der Tabelle sondern die Anzahl der Datensätze, die von seiner Abfrage betroffen sind. Der SqlDataReader hat im übrigen eine Property namens RecordsAffected, die den gewünschten Wert enthält.
Klotzkopp Geschrieben 14. Juli 2006 Geschrieben 14. Juli 2006 Öhm, der letzte Vorschlag ist nicht ganz dein Ernst, oder? Ich glaube bigpoint möchte nicht die Anzahl der Datensätze in der Tabelle sondern die Anzahl der Datensätze, die von seiner Abfrage betroffen sind.Es sollte offensichtlich sein, dass das Statement gegebenfalls an die verwendete Abfrage angepasst werden muss. Je nach Statement und Anzahl der Datensätze kann dieser Ansatz viel schneller sein, als mitzählenderweise durch das Ergebnis zu laufen. Der SqlDataReader hat im übrigen eine Property namens RecordsAffected, die den gewünschten Wert enthält.Nein. 0 if no rows were affected or the statement failed; and -1 for SELECT statements. Und selbst wenn es für Abfragen funktionieren würde: The RecordsAffected property is not set until all rows are read and you close the SqlDataReader.
bigpoint Geschrieben 14. Juli 2006 Autor Geschrieben 14. Juli 2006 als dritte methode, welche ich empfehlen würde, kann man auch den sql-server die "arbeit" erledigen lassen. Also "SELECT COUNT(*) FROM TABLE" Ja es stimmt, das wehre aber dann bedeutet dass ich noch einen SqlDataReader deklarieren muss und dass wollte ich einfach mir sparen
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden