![]() |
AW: RTF in MySQL
Dann müsste stmt_bind_param() die richtige Funktion sein, um mit Parametern zu arbeiten
![]() |
AW: RTF in MySQL
Vielen Dank für die Info!!!
Ich habe keine Ahnung, wie ich Funktionen auf dem MySQL Server ausführe und fürchte, dass ich das auch nicht so schnell erlerne... Ich finde einfach keinen Ansatz und die Online Dokumentation ist für mich nicht nachvollziehbar... Wäre nur leider eine wichtige Funktion für mein Programm... Ich habe bis heute gedacht, dass ich die Feldinformationen und den Text in einem Feld (BLOB) der Datenbank speichere und dann mit einer Funktion diese getrennt von dem Text auslesen und an das RichEdit übergeben kann. Aber das scheint so nicht zu funktionieren. Wenn jemand einen Tip für einen Dummi auf diesem Gebiet hat, wäre ich Euch sehr dankbar... Vielen Dank Ykcim |
AW: RTF in MySQL
Das ist auch keine Funktion, die auf den Server ausgeführt wird, sondern eine Funktio der Clientbibliothek, die einen Parameter mit einem wert füllt.
|
AW: RTF in MySQL
Hallo,
ich fürchte ich muss dieses Thema auf Grund von Ahnungslosigkeit zurückstellen. Ich habe von den ganzen Hinweisen leider noch keine Ahnung... Vielen Dank für die Hilfe bis hierhin! Ykcim |
AW: RTF in MySQL
Hallo,
kannst Du die RTF-Datei nicht komplett in ein BLOP Feld packen? Dann müssten auch die Steuerzeichen nicht escapted werden. Grüße Klaus |
AW: RTF in MySQL
Zitat:
![]() Es geht hier doch um Delphi-Programmierung und nicht um reines SQL, wenn ich das richtig verstanden habe. Wie man eine x-beliebige Datei via SQL in ein MySQL-Blobfeld bekommt, wüßte ich jetzt auch nicht. Wieso auch sollte man ein Blob-Feld mittels SQL-Query befüllen/auslesen, wenn man in Delphi entweder direkt ein TDBRichEdit verwenden oder aber via FileStream die Datei direkt vom Datenträger ins Blobfeld einlesen kann? @Ykcim: Vielleicht hilft es dir, wenn du dir erst einmal ein wenig Datenbank-Grundlagen erarbeitest? |
AW: RTF in MySQL
@Ykcim
Im Prinzip bist Du auf dem richtigen Weg. Wenn Du Dein Post #1 und den Tip aus #2 zusammenbringst, sollte es funktionieren (ungetestet!):
Delphi-Quellcode:
Der String muss dann Escaped, und an die Datenbank übergeben werden.
function RichText(re: TRichEdit): AnsiString;
var ss: TMemoryStream; begin ss := TMemoryStream.Create; try re.Lines.SaveToStream(ss); SetLength(Result, ss.Size); move(ss.Memory^, Pointer(Result)^, ss.Size); finally ss.Free; end; end;
Delphi-Quellcode:
Zum Auslesen aus der Datenbank musst Du den umgekehrten Weg gehen. Also den Inhalt des Feldes Name in einen MemoryStream kopieren und diesen Stream dann in die RichEdit-Kompnente einlesen.
var
query: AnsiString; begin query := 'insert into plants set Name=' + QuoteString(RichText(MyRichEdit)); mysql_real_query(LibHandle, PAnsiChar(query), Length(query)) end; |
AW: RTF in MySQL
Toll, das Ihr mich offensichtlich nicht aufgebt!!!
Zitat:
Ich verwende die mysql.pas und die libmySQL.dll. Was bedeutet AddSlashes? Zitat:
Zitat:
Vielen Dank für die tolle Unterstützung!!! Gruß Ykcim |
AW: RTF in MySQL
Schau doch einfach in die mysql.pas, ob es da eine Routine namens AddSlashes gibt. Erläuterungen dazu findest Du z.B.
![]() |
AW: RTF in MySQL
Zitat:
QuoteString Diese Funktion ersetzt bestimmte Zeichen durch Escape-Sequenzen und fügt die Anführungszeichen hinzu. (Hinweis: QuoteString ruft EscapeString auf) Dazu siehe auch: ![]() Ob Du ein Blob-Feld oder ein Text-Feld benutzt, spielt hier keine Rolle, weil der Insert-String in beiden Fällen gleich ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz