Hi zusammen
Zitat:
---------------------------
Im Projekt ContentMasterDXE8.exe ist eine
Exception der Klasse EFDException mit der Meldung '[FireDAC][Phys][
MySQL]-335. Datentyp des Parameters [LFOLDERID] ist unbekannt. Hinweis: Geben Sie TFDParam.DataType an, oder weisen Sie den TFDParam-Wert vor dem "Prepare"/"Execute"-Aufruf zu' aufgetreten.
---------------------------
Das ist die Fehlermeldung, die ich gerade eben erhalten habe. Und so versuche ich, das Ergebnis aus GuidToString in die
DB zu bekommen:
Delphi-Quellcode:
function TFDMySQLDml.BildInsertQuery(LThumbMemory: TMemoryStream; LFolderID: TMemoryStream): integer;
var SQLString: string; AUser,APass :string;
begin
SQLString := 'Insert Into Bildtabelle(Thumbnail, FolderID) Values (:LThumbMemory, :LFolderID)';
FDQueryMain.SQL.Text := SQLString;
FDQueryMain.Params[0].LoadFromStream(LThumbMemory, ftgraphic);
FDQueryMain.Params[0].LoadFromStream(LFolderId, ftstring); //<==
FDQueryMain.ExecSQL(false);
...
Ursprünglich hatte ich den Datentyp für das Feld mit ftguid angegeben, aber da meckerte Delphi einige seltsame (unbekannte) Zeichen an.
Erzeugt wird die
Guid so:
Delphi-Quellcode:
....
if not FileExists(LPath+'
IdentFile.cgf')
then
begin // ist in dem Ordner kein IdentifikationsFile
FolderID := CreateIDFile(LPath);
Self.FIDFile := FolderID;
/// wird eines angelegt
end;
function TOpenFileFrame.CreateIDFile(LPath :
String):
String;
var IdFile : TFileStream; ID_GUID: TGUID;
UniqueName:
String; Len: Longint;
begin
if CreateGUID(ID_GUID) <> 0
then
Result := '
Creating GUID failed!'
else
begin
UniqueName := GUIDToString(ID_GUID);
IdFile := TFileStream.Create(LPath,fmCreate);
try
Len := Length(UniqueName);
IdFile.
Write(Len, SizeOf(Len));
IdFile.
Write(PChar(UniqueName)^, Len);
finally
IdFile.Free;
end;
Result := '
IdentFile.cgf';
end;
end;
Was mache ich falsch?
Gruss
Delbor