Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: ADO.Net - Problem mit Abfrage mittels DataReader

  Alt 12. Mär 2008, 18:07
Hallo,

mit ExecuteReader bekommst Du nur einen Verweis auf den Reader selbst, aber noch nicht auf die (ersten) Daten. Dein späterer Aufruf DBRead.Read muss vorgezogen werden; deshalb kannst Du auch auf die Abfrage HasRows verzichten:
Code:
reader := Cmd.ExecuteReader;
        try
        {
            while (reader.Read())
            {
                Console.WriteLine(reader.GetValue(0));
            }
        }
        finally
        {
            reader.Close();
        }
Ich wundere mich allerdings, dass der erste Aufruf von GetString den Reader passend setzt und nicht auch in den Folgezeilen zu einer Exception führt.

Bitte entschuldige die Codierung in C#; so steht es in der SDK-Doku (war also leichter zu kopieren), und ich habe Delphi verlernt.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat