NESSY Geschrieben 7. Januar 2004 Geschrieben 7. Januar 2004 Hallo, alle die schon mit der Mysql api für C++ gearbeitet haben sind gefragt.... folgendes Problem: - Daten für die Dbanbinung werden von einem Dialog geliefert, - Verbindung haut hin, - sobald eine Anfrage ausgewertet werden soll kachelt das Programm ab! Query wird folgendermaßen ausgeführt: Result res = query.store(); mit dieser Methode wird auch das Ergebnis direkt geliefert Mein Problem besteht darin, das ich es nicht gebacken kriege das Ergebnis der Anfrage auszuwerten und in einem Textfeld (Dialog) auszugeben. Hat schon jemand etwas in dieser Richtung gemacht und kann mir nen Tip geben? Gruß Zitieren
Knuddlbaer Geschrieben 9. Januar 2004 Geschrieben 9. Januar 2004 Mal abgesehen davon das Standard C++ keine Datenbanken kennt... welchen Compiler verwendest Du denn ? Zitieren
Knuddlbaer Geschrieben 9. Januar 2004 Geschrieben 9. Januar 2004 Ein wenk Infos hast Du schon. Hau mal hier http://www.c-plusplus.de/forum/search.php und oder hier: http://forum.fachinformatiker.de/search.php?s= MySql ein. Ich denke Du wirst massig gute Infos finden. Wenn das nicht hilft wäre etwas mehr info wie: > sobald eine Anfrage ausgewertet werden soll kachelt das Programm ab! gut ) (und vll. verschieben ins richtige Forum) Zitieren
NESSY Geschrieben 9. Januar 2004 Autor Geschrieben 9. Januar 2004 coole antwort danke aber das forum hab ich schon durchforstet.... hmm ich denke, das man unter 'das programm kachelt ab' schon viel verstehen müsste! also es funktioniert nicht und das programm stürzt ab, weil ich beim verarbeiten des query-ergebnisses etwas falsch mache! -> von daher auch 'hab keine ahnung wie ich das ergebnis auswerten kann' näheres: bin momentan soweit gekommen, das der dbconnect funzt und die query abgeschickt wird. aber sobald ich versuche das ergebnis auszugeben schmiert das programm ab problem: 1. datentypenkonflikt (die mysql api arbeitet mit datentypen aus C) 2. auch wenn ich soweit bin einen string aus C in CString von C++ zu konvertieren hab ich nen absturz (abnormal program termination usw.) daher meine frage ob jemand schon in dieser richtung gearbeitet hat und mir nen tip fürs handling geben könnte! (die beschreibungen in der api selbst gleichen einem chaos wo ich mich nicht grad zurechtfinde!) Zitieren
Klotzkopp Geschrieben 9. Januar 2004 Geschrieben 9. Januar 2004 Original geschrieben von NESSY hmm ich denke, das man unter 'das programm kachelt ab' schon viel verstehen müsste! Nein. Eines der wichtigsten Dinge, wenn Fehler behoben werden sollen, ist eine möglichst präzise Fehlerbeschreibung. Und ich glaube nicht, dass du eine Messagebox mit dem Inhalt "Programm ist abgekachelt" und einem OK-Button zu sehen bekommst. Nur weil dir die zusätzlichen Informationen in der Fehlermeldung nichts sagen, muss das ja nicht bei allen hier im Forum so sein. also es funktioniert nicht und das programm stürzt ab, weil ich beim verarbeiten des query-ergebnisses etwas falsch mache! -> von daher auch 'hab keine ahnung wie ich das ergebnis auswerten kann'Bist du das Programm schon mal Schritt für Schritt mit dem Debugger durchgegangen? 1. datentypenkonflikt (die mysql api arbeitet mit datentypen aus C) 2. auch wenn ich soweit bin einen string aus C in CString von C++ zu konvertieren hab ich nen absturz (abnormal program termination usw.)Wie gesagt, das, was du mit "usw." abhandelst, kann uns helfen, den Fehler einzukreisen. Zeig uns doch z.B. mal den Code dieser Konvertierung. P.S.: Thread verschoben nach C++: Compiler, IDEs, APIs. Zitieren
NESSY Geschrieben 9. Januar 2004 Autor Geschrieben 9. Januar 2004 sachte sachte brauchste ja nicht gleich mit steinen nach mir zu werfen seit ihr nun programmierer oder nicht? also wenn ich schon nicht sage, das ich beim kompilieren fehler habe, dann bedeutet es ja, das zunächst alles klappt. die fehlermeldung beim programmabsturz ist 'abnormal program termination', das usw. hat in der hinsicht nichts zu bedeuten. und leider kann man mit dieser meldung nicht grad das problem direkt identifizieren oder? wenn ich nicht mit dem debugger gearbeitet hätte wäre ich nicht soweit, das ich das problem mit 'datentypenkonflikt' eingrenzen würde. mittlerweile hab ich es dann doch einigermaßen hinbekommen... die lösung die mittlerweile klappt sieht so aus: string m_strResult; try { Result res = query.store(); m_strResult = res[0][0]; } catch (BadQuery er){ } char *cResult = new char[m_strResult.size()+1]; strcpy(cResult, m_strResult.c_str()); CString strResult; strResult = cResult; m_Result = strResult; (m_Result ist eine Membervariable für die Ausgabe) Ich glaube ihr habt mich auch abissl falsch verstanden es geht mir vielmehr darum das ich mit der api für VC++ schwierigkeiten habe und daher meine frage ob jemand tip fürs handling hat.... sorry wenn ich mich nicht klar ausgedrückt hab Zitieren
Knuddlbaer Geschrieben 9. Januar 2004 Geschrieben 9. Januar 2004 Du sagst es, wir sind Programmierer und keine Hellseher. Im genannten Forum (u.a. in der FAQ) findest Du links mit Tips zu MySQL und VC++. Was Du mit "der Api von Vc++" meinst ist mir schleierhaft. i.d.r. gilt: Wenn man geholfen bekommen möchte versucht man denen die helfen zu wollen so viel an Infos zu geben wie möglich. Es wird keiner Freiwillig viel Zeit Investieren wenn man nicht weiß ob die Antwort das Problem trifft. Zitieren
harald12 Geschrieben 13. Januar 2004 Geschrieben 13. Januar 2004 Also, ich versteh dich nicht ganz, aber wenn du Daten aus einer Datenbank abrufen willst geht das mit MFC relativ einfach: CDatabase db; try { if(db.Open("Datenbank") { CBeispielSet* BeispielSet = new CBeispielSet (&db ); BeispielSet->Open(CRecordset::forwardOnly, _T("SELECT * FROM Datenbank ORDER BY weiss nicht")); CBeispielSet->Close(); } } catch(CDBException* pe) { MessageBox(pe->m_strError); pe->Delete(); } Du kannst ComboBoxen mit Namen volladen oder Eingabefelder oder egal was du willst. :marine :mod: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.