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? Zitieren
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 Zitieren
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" Zitieren
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. Zitieren
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. Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.