copier image d'une table sql dans une autre
(delphi 2006) - sqlserver 2000 2008 - ADO
bonjour
j'essaie de copier une image d'une table dans un variant pour ensuite copier cette image dans un autre table
je copie pas directement l'image d'une table a une autre par requete car ce n'est pas mon besoin
ce n'est pas le vrai code, c'est juste pour avoir un exemple
pour lire l'image je fais:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
temp_photo : variant;
procedure lire;
var Query : TADOquery;
begin
Query := TADOquery.Create(nil);
Query.connection:= ...
Query.sql.text := 'SELECT mon_image FROM matable';
Query.open;
temp_photo := Query['mon_image'];
showmessage(inttostr(length(temp_photo)));
Query.free;
end; |
pour lire l'image je fais:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
procedure ecrire;
begin
With TADOQuery.Create(nil) do
begin
Connection :=.....
Sql.add('Insert into ma_nouvelle_table Values(:1,.....)');
Parameters.ParamByName('1').Value :=temp_photo;
ExecSQL;
free;
end;
end; |
le probleme, c'est que lorsque je fais la requete dans "Microsoft SQL server management studio express"
Code:
SELECT datalength(mon_image) FROM matable
j'ai une taille de 10000 pour l'image , le showmessage de la procedure lire me donne aussi 10000
mais quand je fais
Code:
SELECT datalength(mon_image) FROM ma_nouvelle_table
j'ai une taille de 20000 pour l'image (le double)
je me demande du coup si c'est pas a cause de ça si je vois pas mon image dans mon rapport (crystal report) ?
question subsidiaire : vous connaissais pas un editeur sql gratuit ou on peut voir les images au lieu de voir System.Byte[] .... (comme faisait l'editeur paradox par exemple)
merci