schnucki girl Geschrieben 5. Oktober 2004 Geschrieben 5. Oktober 2004 Hallo Leute, habe ein riesieges Problem mit meinem Downloadserver, welcher als Dienst bei mit läuft! Wenn aus der DB - Tabelle gelesen wird....: CRecordset Record(....) try { Record.Open(AFX_DB_USE_DEFAULT_TYPE, "SELECT * FROM Hilfetest WHERE ......." ,CRecordset::none); } catch(CDBException dbex) { dbex.ReportError(); return -1; } Wenn die Tabelle Hilfetest in der DB exestiert ist alles ok, sobald diese Tabelle nicht da ist --> stürzt der Server ab und meldet mir die Fehlermeldung : "unknown software exception" 0x80000003 and der Stelle 0x004483c3 hat einer mal eine Idee wie ich diese vielleicht noch abfangen kann?? :confused: freue mich über jeden Vorschlag
bigpoint Geschrieben 6. Oktober 2004 Geschrieben 6. Oktober 2004 Diese Fehlermeldung sagt dir: „Mindestens ein Argument ist ungültig.“ Ist ja auch kein wunder, denn du versuchst ein Recordset auf eine Tabelle zu öffnen die nicht existiert, es muss schief laufen, was hast du denn sonst erwartet ??
Klotzkopp Geschrieben 6. Oktober 2004 Geschrieben 6. Oktober 2004 CRecordset::Open kann CDBException* (und CMemoryException*) werfen. Die Sternchen sind wichtig.
schnucki girl Geschrieben 7. Oktober 2004 Autor Geschrieben 7. Oktober 2004 Danke Bigpoint für dein informatives Statement. Hat mir bei meinem Problem sehr geholfen. Ich bin bei meinem Problem schon bewusst, die Frage war wie kann ich es verhindern wenn mal eine Tabelle nicht da ist das es dann nicht zum Absturz kommt!!! Und nicht kann mir mal ein Klug*******er ein Zitat von Albert Einstein schreiben!!
schnucki girl Geschrieben 7. Oktober 2004 Autor Geschrieben 7. Oktober 2004 Danke Klotzkopp, werde es mal mit dem Sternchen versuchen. Warum steht in der MSDM nichts von diesen Sternchen??? Wofür ist es wichtig??
Klotzkopp Geschrieben 7. Oktober 2004 Geschrieben 7. Oktober 2004 Hast du dich vielleicht verlesen? http://msdn.microsoft.com/library/en-us/vclib/html/_mfc_crecordset.3a3a.open.asp Da steht unter Exceptions: This method can throw exceptions of type CDBException* and CMemoryException*. Der Stern ist insofern wichtig, als CDBException ein anderer Typ ist als CDBException*. Das eine ist die Klasse selbst, das andere ist ein Zeiger auf die Klasse. Und bei catch muss der Typ passen.
schnucki girl Geschrieben 7. Oktober 2004 Autor Geschrieben 7. Oktober 2004 Jo es funktioniert danke schön :-)
bigpoint Geschrieben 7. Oktober 2004 Geschrieben 7. Oktober 2004 Und nicht kann mir mal ein Klug*******er ein Zitat von Albert Einstein schreiben!! Also erst mal Stopp. Beleidigen sollen wir uns hier nicht, die Frage war wie kann ich es verhindern wenn mal eine Tabelle nicht da ist das es dann nicht zum Absturz kommt!!! und auf Deine Frage kann ich Dir nur Antworten richtig exceptions behandeln. Du kannst mit m_pErrorInfo dir den Error anzeigen lassen, auf jeden fall auf deine Stelle wurde ich auch den Recordset - Objekt löschen sobald du im catch landest.
Guybrush Threepwood Geschrieben 7. Oktober 2004 Geschrieben 7. Oktober 2004 und auf Deine Frage kann ich Dir nur Antworten richtig exceptions behandeln. Was sollen das?
Guybrush Threepwood Geschrieben 7. Oktober 2004 Geschrieben 7. Oktober 2004 Ich glaube du solltest mal ein paar Gänge zurück schalten und hier ein normalen Umgangston pflegen.
Klotzkopp Geschrieben 7. Oktober 2004 Geschrieben 7. Oktober 2004 Das eigentlich Problem ist ja nun gelöst.
Empfohlene Beiträge