DataReader auf Inhalt prüfen

123arne

Mitglied
Hallo,

ich mach in meinem Programm ne Datenbankabfrage mit Datareader.
Code:
  System.Data.OleDb.OleDbDataReader odbDR = odbCom.ExecuteReader();
  return odbDR;

bevor ich das odbDR weiter verwende möchte ich prüfen, ob es Werte enthält. Wie mache ich das?

Gruß Arne
 

123arne

Mitglied
Hallo
danke erstmal bis hierhin. Auf der angegebenen Seite steht als Hinweis

Note: This namespace, class, or member is supported only in version 1.1 of the .NET Framework.


wenn ich auf dem Rechner später dann auf Framework 2.0 aktualisiere läuft dann das Programm noch mit HasRows?

und noch eine Frage. Das Programm soll später auf mehreren Rechnern laufen. Zu DataReader steht in der Beschreibung jedoch:
Während ein DataReader-Objekt geöffnet ist, wird das Connection-Objekt exklusiv von diesem DataReader-Objekt verwendet. Befehle können erst dann für das Connection-Objekt ausgeführt werden, wenn das DataReader-Ausgangsobjekt geschlossen ist. Dies gilt auch für die Erstellung eines anderen DataReader-Objekts.


Wenn auf dem ersten Rechner das DataReader-Objekt geöffnet ist, kann ein zweiter Rechner dann zeitgleich auf die Datenbank mit einem DataReader zugreifen?


Gruß
Arne
 

mage

Erfahrenes Mitglied
123arne hat gesagt.:
.. Das Programm soll später auf mehreren Rechnern laufen. Zu DataReader steht in der Beschreibung jedoch:
Während ein DataReader-Objekt geöffnet ist, wird das Connection-Objekt exklusiv von diesem DataReader-Objekt verwendet. Befehle können erst dann für das Connection-Objekt ausgeführt werden, wenn das DataReader-Ausgangsobjekt geschlossen ist. Dies gilt auch für die Erstellung eines anderen DataReader-Objekts.

Wenn auf dem ersten Rechner das DataReader-Objekt geöffnet ist, kann ein zweiter Rechner dann zeitgleich auf die Datenbank mit einem DataReader zugreifen?

Ja, die Einschränkung bezieht sich auf das Connection Objekt. Damit kann zur selben Zeit nur eine Abfrage ausgeführt werden. Mit dem selben Connection Objekt ist es nicht möglich zum Beipiel zwei Abfragen über den DataReader gleichzeitig auszuführen, oder nacheinander wenn das der Reader nicht geschlossen wurde und so das Resultset noch offen hält. Will man solche Dinge machen benötigt man mehrere Connectionobjekte.
Auf einem anderen Rechner ist das kein Problem, da es ja unterschiedliche Instanzen des Connectionobjektes sind.

In 2.0 wird es vorraussichtlich diese Einschränkung nicht mehr geben.
 

123arne

Mitglied
Na da kann ich ja lange suchen, hab gerade festgestellt, dass ich noch bei Framework 1.0 war.Hab jetzt das Framework SDK aktualisiert, nur leider merkt Visual Studio das nicht und zeigt mir noch 1.0 an. Wie krieg ich jetzt Visual Studio beigebracht, dass es Framework 1.1 verwenden soll? Hoffentlich nicht neu installieren.

Gruß Arne
 

Norbert Eder

Erfahrenes Mitglied
Dazu brauchst du das Visual Studio 2003. Wenn du dieses nicht hast, kannst du 1.1 nicht verwenden. Ausser du steigst vielleicht auf #Develop um.
 

123arne

Mitglied
Das ist natürlich jetzt blöd, hab nur Version 2002 und komme an Version 2003 so schnell auch nicht ran. Mal ganz abgesehen vom Preis. Kann ich in #Development VisualStudio-Projekte übernehmen, oder hat jemand ne Idee HasRows auf andere Weise zu umgehen?