AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Parameter unter Firedac
Thema durchsuchen
Ansicht
Themen-Optionen

Parameter unter Firedac

Ein Thema von Delbor · begonnen am 4. Mär 2016 · letzter Beitrag vom 11. Mär 2016
 
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.199 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: Parameter unter Firedac

  Alt 10. Mär 2016, 15:50
Hi Sir Rufo
Zitat:
Ersichtlich ist da gar nichts, denn wir können nicht sehen, was in BildInsertQuery mit dem Stream passiert.
Delphi-Quellcode:
function TFDMySQLDml.BildInsertQuery(LThumbMemory: TMemoryStream; FolderId: TStringstream): integer;
  var SQLString: string;
begin
  SQLString := 'Insert Into Bildtabelle(Thumbnail, FolderID) Values (:LThumbMemory, :FolderID)';
  FDQueryMain.SQL.Text := SQLString;
  FDQueryMain.Params[0].AsStream := LThumbMemory;
  FDQueryMain.Params[1].AsStream := FolderId;
  FDQueryMain.ExecSQL(false);
  if FDQueryMain.Active then
     FDQueryMain.Close;
  SQLString := 'Select Last_Insert_ID()AS LastID';
  FDQueryMain.SQL.Text := SQLString;
  FDQueryMain.Open;
  if not FDQueryMain.IsEmpty then
    result := FDQueryMain.FieldByName('LastID').AsInteger; //
end;
Wie gesagt: Im ersten Durchlauf scheint der Stream FolderId akzeptiert zu werden - ExecSQL läuft scheinbar(?) problemlos ab.
Soll dann im zweiten Durchlauf LThumbmemory neu befüllt werden, muss es erstmal geleert werden. Ich könnte wohl auch die Position zurücksetzen, dass hätte aber zur Folge, dass Reste des vorigen Bildes angezeigt werden, wenn das aktuelle Bild kleiner ist.
Zitat:
Diese Kopierorgie mit Picture, Bitmap, JpegImage, Stream ist schon sehr abstrus und könnte bequem auf ein Picture und JpegImage reduziert werden
Diese Kopierorgie macht durchaus Sinn - das Jpeg(LThumbnail) dient der Navigation in der Datenbank. Diese Dinger bringen es auf gerade mal 1.2 KB. Grössere Bilder würden die Navigation deutlich verlangsamen. Die Bitmap brauche zum einen, um ein Thumbnail im BMP-Format herzustellen. Ausserdem wollte ich sie ursprünglich auch in der DB speichern, tue dies aber aktuell noch nicht, da die Dinger gut dreimal grösser sind. Benötigt werden die Bitmaps für die Bearbeitung der Bilder. Und zu guter letzt werden damit Jpegs in "normaler" Grösse hergestellt.
Zitat:
Eine GUID als StringStream ist auch sehr merkwürdig
Da ich bei der Erzeugung der GUID diese in eine Stringvariable speichere (Embarcadero-Vorschlag), schien mir dies naheliegend.
Embarcadero äussert sich nicht darüber (oder ich habs gründlich überlesen), wie ein GUID binär gespeichert werden kann.
Einzig TPictur ist eventuell überflüssig; bei der Erstellung der Procedur schien es mir aber der einfachste weg zu sein, ein Bild zu laden. Das wäre allenfalls zu optimieren...

Gruss
Delbor

PS:
LPicture.LoadFromFile(FPathList[i]); Das lädt erstmal ein NEF-Bild. Und davon brauche ich eine Bitmap und ein Jpeg. Nef-Bilder könnten auch mit WICImage geladen werden, aber das hab ich wieder verworfen. Soweit ich mmich erinnere, sind die WicImage-Bilder nicht mehr im Original vorhanden, wenn sie erstmal, in was auch immer, umgewamdelt wurden.
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (10. Mär 2016 um 16:08 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 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