![]() |
AW: String eintragen der Apostroph enthält
Würdest du einmal etwas Code spendieren?
Mir fehlt vor allem ein .Close
Delphi-Quellcode:
Gruß
fuunc.ASQLite3Query1.Close;
fuunc.ASQLite3Query1.SQL.Clear; fuunc.ASQLite3Query1.SQL.Add('INSERT INTO mails (absender, mail, datum) VALUES ('''+abs+''', '''+txt+''', '''+datum+''')'); fuunc.ASQLite3Query1.ExecSQL; fuunc.ASQLite3Query1.Close; K-H |
AW: String eintragen der Apostroph enthält
Sorry, Telefon.
Der Code der bei mir 1 Mal funktioniert aber dann eine Zugriffsverletzung macht ist:
Delphi-Quellcode:
with fuunc.ASQLite3Query1 do
try RawSQL := False; SQL.Text := 'INSERT INTO mails (absender, mail, datum) VALUES (:absender,:mail,:datum)'; Params.ParamByName('absender').Value := abs; Params.ParamByName('mail').Value := txt; Params.ParamByName('datum').Value := date; ExecSQL; SQL.Clear; Params.Clear; Close; finally Free; end; |
AW: String eintragen der Apostroph enthält
Das ist ja anscheinend eine Komponente, wieso gibst Du die frei? Dafür ist doch im Normalfall der Owner zuständig. Und ein Close nach ExecSQL macht keinen Sinn, lass Dir da nix einreden.
|
AW: String eintragen der Apostroph enthält
Weil ich "Angst" habe das ich den Arbeitsspeicher zumülle, wenn ich da nix freigebe. Kann das nicht passieren?
|
AW: String eintragen der Apostroph enthält
Das kommt jetzt darauf an. Hast Du sie zur Entwurfszeit auf das Formular gepackt oder zur Laufzeit erzeugt?
|
AW: String eintragen der Apostroph enthält
Zur Entwurfszeit. Ist für mich übersichtlicher.
|
AW: String eintragen der Apostroph enthält
Dann musst Du sie auch nicht freigeben, das machst Du mit anderen Komponenten ja hoffentlich auch nicht.
|
AW: String eintragen der Apostroph enthält
Dann darfst du es auch nicht frei geben. Denn wie oder wann soll es den nach dem Freigeben wieder erstellt werden? Wenn du die Komponente zur Entwurfszeit auf das Formular machst, dann ist das Formular der Owner und gibt die Komponente auch wieder frei.
|
AW: String eintragen der Apostroph enthält
Ah ok, klingt logisch. Ich hatte nur schon so oft gelesen, das irgendwelche Fehler bei DB Programmierung damit zusammenhängen, das man den Arbeitsspeicher nicht sauber genug nutzt.
Aber ohne free und close funktioniert es perfekt, so wie es soll. Danke Euch, hat mir sehr geholfen :). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 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