Bilddatei mit ftBlob in Datenbankspeichern
-
Hallo
Compiler : Borland C++ 2007
Datenbank : ParadoxIch habe folgende Funktion aus einem Programm kopiert,
in dem sie schon funktioniert hat.Ich habe eine Query auf dem Formular
in dem ich unter Strings folgende Zeilen habeupdate zustandstext set Symbol = :wSymbol where TextNr = :wTextNr
und im Programm unter einer Zuweisungsmethode habe ich noch
Query1->Params->ParamByName("wTextNr")->Value = TxtNr; Query1->Params->ParamByName("wSymbol")->LoadFromFile(DateiName, ftBlob); Query1->ExecSQL();
in TxtNr steht die richtige Zahl und in DateiName der komplette Pfad, Datei existiert auch.
Das ganze habe ich nun in meinem neuen Programm so verfasst
TQuery* QBlob = new TQuery(this); QBlob->DatabaseName = "GLT"; try{ QBlob->SQL->Clear(); QBlob->SQL->Add("update " + DatenbankName); QBlob->SQL->Add(" set "+DatenbankFeld +" = :wSymbol"); QBlob->SQL->Add(" where TextNr = :wTextNr"); QBlob->Params->ParamByName("wTextNr")->Value = TextNr; QBlob->Params->ParamByName("wSymbol")->LoadFromFile(DateiName, ftBlob); QBlob->ExecSQL(); } catch(...) { ShowMessage("Fehler beim Ausführen des EcexSQL"); }
Und er läuft hier jedesmal in den Catch!
aber Warum?!
alle Felder sind exakt gefüllt, korrekt.Ging vorher ja auchIch trett auf der STelle, kann mir jemand helfen?! Tipps?!
Danke
-
Hallo
Dann las dir doch mal die konkrete Meldung der Exception anzeigen, dazu ist sie ja da.
catch(Exception& e) { Application->ShowException(&e); }
bis bald
akari
-
Darauf hätte ich eigentlich selber kommen können. Dankeschön.
Problem war das Die Variable TextNr ein AnsiString war
und das Feld TextNr aber ein Integer...Wie einfach manche Probleme sind aba man sieht den wald vor lauter bäumen nicht
danke