![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: IBDatabase
SQL und Interbase Problem
Ich habe ein mittlerweile großes Problem.
Ich versuche mit einer Richeditbox einen Text in eine IB Datenbank einzulesen: function Tbasis.Richeditmemorystreaminstring(sricheditvon:t srichedit):string; var S: TMemoryStream; Fil: string; begin S := TMemoryStream.Create; sricheditvon.Lines.SaveToStream(S); S.Position := 0; // << !! SetLength(Fil, S.Size); S.Read(PChar(Fil)^, S.Size); result:=Fil; S.Free; end; Das Ergebnis lade ich ein array. Da steht es auch korrekt mit der RTF formatierung drinnen. Wenn ich das aber in die Datenbank einlade kommt immer ein Fehler..... Nehme ich aber den Fehlerstring aus meiner log und gebe ihn manuell in die SQL Query per copy/paste ein, dann geht er ohne probleme rein... Hat jemadn eine Ahnung warum ich das nicht hin kriege??? Hier der Beispiel string der in SQL direkt geht aber über die IBDatabase nicht rein geht. update BRIEFEDITOR set BRIEFEDITORFELD1Text = '{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttb l{\f0\fnil Tahoma;}} {\colortbl ;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs16 Diagnosen: ###50100\{Seit der letzten Untersuchung waren keine ernsthafen internistischen Erkrankungen oder Verletzungen aufgetreten.\}*** \par } ' where BRIEFEDITORID = 3 |
Re: SQL und Interbase Problem
Auch hier: Welcher Fehler?
|
Re: SQL und Interbase Problem
Schau dir mal parametrisierte Abfragen an. Damit dürfte das Problem zu lösen sein.
|
Re: SQL und Interbase Problem
Hallo sandrocm,
schonmal so versucht?
Delphi-Quellcode:
Oder wie schon geschrieben über Parameter...
var Query:TQuery;
text:string; begin text:= '{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil Tahoma;}}' + '{\colortbl ;\red0\green0\blue0;}' + '\viewkind4\uc1\pard\cf1\f0\fs16 Diagnosen: ###50100\{Seit der letzten ' + 'Untersuchung waren keine ernsthafen internistischen Erkrankungen oder ' + 'Verletzungen aufgetreten.\}*** \par }'; Query:=TQuery.create(self); try Query.Connection:=... Query.SQL.Text:= Format( 'UPDATE briefeditor'#13 + 'SET briefeditorfeld1text = %s'#13 + 'WHERE briefeditorid = %d', [QuotedStr(text), 3] ); Query.ExecSQL; finally Query.free; end; end;
Delphi-Quellcode:
Gruss
var Query:TQuery;
text:string; begin text:= '{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil Tahoma;}}' + '{\colortbl ;\red0\green0\blue0;}' + '\viewkind4\uc1\pard\cf1\f0\fs16 Diagnosen: ###50100\{Seit der letzten ' + 'Untersuchung waren keine ernsthafen internistischen Erkrankungen oder ' + 'Verletzungen aufgetreten.\}*** \par }'; Query:=TQuery.create(self); try Query.Connection:=... Query.SQL.Text:= 'UPDATE briefeditor'#13 + 'SET briefeditorfeld1text = :text'#13 + 'WHERE briefeditorid = :id', Query.ParamByName('text').AsString:=text; Query.ParamByName('id').AsInteger:=3; Query.ExecSQL; finally Query.free; end; end; Thorsten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 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-2025 by Thomas Breitkreuz