Problem mit MySQLDataReader

MFC openGL

Erfahrenes Mitglied
Hallo,

brauche mal eure Hilfe. Ich habe eine Dantebankabfrage an meine MySQL Datenbank geschickt, um zu testen ob es die Plz in der Datenbank gibt. Es gibt sie nicht, aber wenn er dann das ExecuteReader() ausführt, gibts einen Fehler, und mein catch (hab ich hier mal weggelassen) wird ausgelößt. Wie kann ich nun abfragen ob der Datensatz vorhanden ist, oder nicht ?

Code:
MySqlCommand cmd = new MySqlCommand("select 1 from plzort where Plz = '" + Plz +"';", conn); 
 
reader = cmd.ExecuteReader(); //Hier kommt der Fehler, er bricht einfach im try Block ab, und springt raus. Das Objekt reader gibt es natürlich... (Die connection "conn" ist auch ok.)
 
while (reader.Read())
 
{
 
return true;
 
} 
 
reader.Close();


Danke und Gruss

MFC OpenGL
 
Zuletzt bearbeitet:

NRFi

Erfahrenes Mitglied
hm...
ich hätte jetzt gedacht, dass er bei while (reader.Read()) erst gar nicht reinspringt, weil leer.
ich glaube irgendwie nicht, dass es daran liegt, dass es kein datensatz zur abfrage gibt. oder gibt es keine exception, wenn du einen vorhandenen datensatz anforderst? was ist denn der text der exception?
 

MFC openGL

Erfahrenes Mitglied
Hatte auch erst gedacht das es an der While liegt, und testhalber den Reader ausgelesen... aber auch das brachte absolut nichts... der fehler liegt beim Ausführen des Befehls... ;(

Noch ne Idee ?

"Eine nicht behandelte Ausnahme des Typs 'MySql.Data.MySqlClient.MySqlException' ist in mysql.data.dll aufgetreten.
Zusätzliche Informationen: There is already an open DataReader associated with this Connection which must be closed first."

Das ist übrigens der Fehler der ausgegeben wird... jedoch ist der Reader vorher nicht benutzt worden, daher kann er nicht offen sein. Zudem, bei einem Gültigen Datensatz geht der Befehl ja einwandfrei... :(
 
Zuletzt bearbeitet:

MFC openGL

Erfahrenes Mitglied
ICH NOOOOOOB der Reader war natürlich nicht geschlossen, bevor das return true kommt, muss ich den Reader ja wieder schließen, sonst ist er beim nächsten mal offen....

Thx fürs aufs Idee bringen und nachdenken lassen ;)

Gruss

MFC OpenGL