Das wars doch noch nicht ganz...
Wenn in einem String-Feld noch nie was drin stand (NULL), dann kommt "Variante des Typs (NULL) konnte nicht in Typ (String) konvertiert werden."
Delphi-Quellcode:
procedure PasteCurrent(DS: TDataset);
var z : Integer;
begin
DS.Append;
for z:=0 to VarArrayHighBound(aField,1) do
begin
case DS.Fields[z].DataType of ftString, ftFixedChar, ftWideString:
if DS.Fields[z].Value=NULL then DS.Fields[z].Value:='' <-- dann alle Stringfelder leer !
DS.Fields[z].AsString := aField[z];
else // kein Stringfeld
DS.Fields[z].Value:=aField[z];
end; //case
end; // Schleife
DS.Post;
end;
Was mach ich hier denn wieder falsch?
Niemand interessiert sich dafür, wie etwas funktioniert, solange es funktioniert... (aus Matrix 2)