Anzahl der Datensätze "OleDbDataReader"
-
HAllo,
bekomme ich über den OleDbDataReader Objekt der ausgeführten Query irgendwie die anzahl der Datensätze zurück????
-
Ja, führ doch einfach ein Count auf das aus was du haben willst.
-
ja das wäre die Notlösung!! Aber dann müsste ich zwei Query machen, was ich wegen zeilicher performance nich machen will. Der OleDBDataReader müsste doch eig. diese Informationen haben???
-
Um was geht es überhaupt? C#?VB.NET?
-
http://msdn.microsoft.com/de-de/library/system.data.oledb.oledbdatareader_members(VS.80).aspx
wenn du dir die doku ordentlich durchliest, wirst du sicherlich das finden was du brauchst.
-
Es geht um C#!! Wenn du mir die Methode oder Property sagst die mir die anzahl zurück gibst war ich wohl die ganze zeit blind!!
-
FieldCount macht wohl nicht das was du erwartest?
-
DbQueryMan schrieb:
Der OleDBDataReader müsste doch eig. diese Informationen haben???
So, warum müsste er das? Wenn er nur vorwärts liest benötigt er das nicht.
Aber die Frage stellt sich, warum DU das überhaupt benötigst?
Simon
Edit
BTW: Warum machtst Du nicht einfach eine COUNT Abfrage?
http://www.w3schools.com/SQL/sql_func_count.asp
-
1. FieldCount (siehe doku^^) gibt die anzahl der Spalten des datensatze zurück!!!
2. Ich brauch es weil ich die Daten in meine eigenes Objekt Model mappe, und da die information notwendig ist !!
3. Eine "COUNT" Query kommt nich in frage, weil es zuviel zeit braucht!!!!
-
Wenn du dein eigenes Objekt Model hast, dann wirst du sicherlich die Daten irgendwo(eine Liste oder ähnliches) im Programm halten oder?Wenn ja, wie wäre es ein Count auf die List zu machen,fals sie vorhanden ist?
-
Bspw.
ich mach ne abfrage für nen bestimmten Zeitraum, und bekomme 23453 datensätze zurück!
Will aber nur 1000 davon in model speichern, ergo nur jeden 23 Datensatz in mein model laden! damit ich aber den teiler "23" herausbekomm brauch ich die anzahl der quell datensätze!!!
-
Hmm ernsthaft? Dann solltest du nochmal deine Abfrage so überarbeiten das du ebend nur die Anzahl an Daten kriegst die du WIRKLICH brauchst.
-
Selektier dir doch die Gesamtanzahl als Spalte dazu.
Solltest du aber nur machen wenn unbedingt nötig, da das auch Performance kostet.Oder du stopfst die Abfrage erstmal in eine Table-Variable/Temp-Tabelle, holst dir dann COUNT(*) von der Table-Variable/Temp-Tabelle, und machst danach das SELECT.
-
Gib dir eine DataTable zurück und du hast die Anzahl.
Die Anzahl liegt nicht vor bei einem Reader denn der holt die Daten aus einem Stream und weiß noch nicht was daher kommt.