(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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
le probleme, c'est que lorsque je fais la requete dans "Microsoft SQL server management studio express"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
j'ai une taille de 10000 pour l'image , le showmessage de la procedure lire me donne aussi 10000
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT datalength(mon_image) FROM matable
mais quand je fais
j'ai une taille de 20000 pour l'image (le double)
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT datalength(mon_image) FROM ma_nouvelle_table
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
Partager