Zauberei bei meinen Datenbankeinträgen
-
Ich habe mit Borland 5.0 ein Programm geschrieben, mit dem ich Texte und Bilder in eine Cache-Datenbank abspeichere.
Ich gehe über ein Table-Objekt (ODBC) in die Datenbank und weise die Textfelder zu.
Wunderschön!Funktioniert soweit auch ganz gut, bis ich einen schönen Tages die Stringlängen in der Datenbank von 255 Zeichen auf 512 Zeichen vergrößert habe.
Seitdem erscheint in der Datenbank von Zeit zu Zeit genau in diesem Feld der Eintrag:"1@%Library.GlobalCharacterStream".
Dieser Eintrag ist nur hin und wieder zu finden, und beschränkt sich nicht nur auf die Daten die größer als 255 Zeichen sind.
Kann mir hier irgen jemand helfen?????
Ich verstehe den Fehler nich ein mal.
Die Servicehotline von der Datenbank versichert mir, dass der Fehler nicht in der Datenbank zu finden ist.

-
Hallo
arbeitest du denn mit dem BCB 5 oder dem Borland C++ 5
wie hast du denn das Feld vergroessert
wie werden die Daten ausgelesen (Code)MfG
Klaus
-
Hallo
du hast das Problem ja schon erkannt. Es sind einfach zu viele Zeichen.
Ich vermute du benutzt eine normale, veraltete Paradox 7 Tabelle, und dort als Feldtyp "A". In der Hilfe im Programm "Datenbankoberfläche" steht zu Feldtypen, das die Länge dieses Feldtypes auf 255 beschränkt ist. Willst du mehr, must du den Feldtyp "M" für Memo nehmen.bis bald
akari
-
KlausB schrieb:
Hallo
arbeitest du denn mit dem BCB 5 oder dem Borland C++ 5
wie hast du denn das Feld vergroessert
wie werden die Daten ausgelesen (Code)MfG
KlausVielen Dank für die Antwort.
Ich arbeite mit Borland C++ 5.
Das Problem besteht bereits beim abspeichern, da dabei der Wert bereits reingeschrieben wird:[code]
FormDatenbankverbindung->Tabellenverbindung->TableName="Auftragstechnologien";
FormDatenbankverbindung->Tabellenverbindung->Active=true; FormDatenbankverbindung->Tabellenverbindung->Insert;
FormDatenbankverbindung->Tabellenverbindung->FieldValues["Information"] = Edit1->Text;
FormDatenbankverbindung->Tabellenverbindung->Post(); }
Application->ProcessMessages();
FormDatenbankverbindung->Tabellenverbindung->Active=false;Mehr ist das nicht.
-
akari schrieb:
Hallo
du hast das Problem ja schon erkannt. Es sind einfach zu viele Zeichen.
Ich vermute du benutzt eine normale, veraltete Paradox 7 Tabelle, und dort als Feldtyp "A". In der Hilfe im Programm "Datenbankoberfläche" steht zu Feldtypen, das die Länge dieses Feldtypes auf 255 beschränkt ist. Willst du mehr, must du den Feldtyp "M" für Memo nehmen.bis bald
akariVielen Dank für die Antwort.
Ich habe keine alte Paradoxtabelle, sondern eine Cache-Datenbank, wo die Stringlänge unbegrenzt gewählt werden kann.
Oder verstehe ich Dich falsch?Gruß, Peter
-
Hallo
FormDatenbankverbindung->Tabellenverbindung->FieldValues["Information"] = Edit1->Text;besser ist da
FormDatenbankverbindung->Tabellenverbindung->FieldByName("Information")->AsString = Edit1->Text;oder noch besser Zugriffe nur per SQL
MfG
Klaus
-
KlausB schrieb:
Hallo
FormDatenbankverbindung->Tabellenverbindung->FieldValues["Information"] = Edit1->Text;besser ist da
FormDatenbankverbindung->Tabellenverbindung->FieldByName("Information")->AsString = Edit1->Text;oder noch besser Zugriffe nur per SQL
MfG
KlausVielen Dank,
ich probiere das aus.
Per SQL-Befehl kann ich leider keiner Bilder mit auslesen.
Gruß, Peter

-
Doch kannst Du. Schau Dir mal TQuery::CreateBlobStream() an. Da ist auch ein Beispiel dabei.
-
Beil2004:
Zitate bitte auf das Notwendigste beschränken. Danke!