DataSet générique dans un composant
Bonjour,
Dans un composant, j'ai un code de ce type
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| function TmySQLtoSGtoSQL.SQLBlobToStr(aQuery : TZQuery; aField : TField) : String;
{public}
var
aStream : TMemoryStream;
begin
Result := '';
with aQuery do
if not(aField.isNull) then
try
aStream := TMemoryStream.Create;
TBlobField(aField).SaveToStream(aStream);
Result := MemStreamToString(aStream);
finally
aStream.Free;
end;
end; |
Il fonctionne correctement à condition que la Form qui l'emploie, utilise un TzQuery. Mais si -et c'est le cas- j'ai également un TzReadOnlyQuery voire un TsqlQuery, y a-t-il un moyen d'utiliser un DataSet générique ?
Pour l'instant j'ai dû me résoudre à employer :
- SQLBlobToStr(aQuery : TZQuery; aField : TField) : String;
- SQLBlobToStr2(aQuery : TZReadOnlyQuery; aField : TField) : String;
J'avais pensé un moment déclarer aQuery : TDataset mais j'obtiens une Error: Identifier not found "ZReadOnlyQueryX". Peut-on faire mieux, par exemple, déclarer un aDataSet lié à une série de DataSets "possibles" : zQuery, ZReadOnlyQuery, sqlQuery ?
Cordialement. Gilles