Zum Inhalt springen

MFC-Mysql api-crash


NESSY

Empfohlene Beiträge

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ß

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :o) (und vll. verschieben ins richtige Forum)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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:

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...