blobField转成SQL时,是用这样的编码方式: 其实大家可以用SQLServer Profile查看它如何更新blob资料的。function BlobDataToHex(AField:TBlobField):string; var MS:TMemoryStream; vB:Byte; begin Result:='0x'; MS:=TMemoryStream.Create; try AField.SaveToStream(MS); MS.Position:=0; while MS.Position<MS.Size do begin MS.Read(vB,1); Result:=Result+InttoHex(vB,2); end; finally MS.Free; end; end;
TBlob字段能用Delta传输吗?
建议先不要使用Delta更新的方法试试看,看能否得到图片。
如果能的话,再在服务器端,TSteamMemory的SaveToFile方法验证,是否有图片。
你建议先不要使用Delta更新的方法试试看,看能否得到图片。
我试了,可一看到,但在服务器端,如何保存图片到mssql中,请帮忙,谢谢。
至于图片为何不行,贴点代码出来大家看看。
你能否贴用Delta出处Blob图片的代码吗? 谢谢!!! 很急用!!!!
SyncBurro1.BlobToFile(nodeid,tablename,fieldname,filename,filterstr);
SyncBurro1.ReadRemoteFile(nodeid,remoteFileName,LocalFileName,Threads);
将本地文件写入到远程Blob字段中:
SyncBurro1.WriteRemoteFile(NodeId,LocalFileName,RemoteFileName,Threads);
SyncBurro1.FileToBlob(nodeid,filename,tablename,fieldname,filterstr);
-----------------------------------------------
快驴上路,永不止步
樓言既然已解決了,可以把你的方法跟大家分享一下。
其实大家可以用SQLServer Profile查看它如何更新blob资料的。function BlobDataToHex(AField:TBlobField):string;
var
MS:TMemoryStream;
vB:Byte;
begin
Result:='0x';
MS:=TMemoryStream.Create;
try
AField.SaveToStream(MS);
MS.Position:=0;
while MS.Position<MS.Size do
begin
MS.Read(vB,1);
Result:=Result+InttoHex(vB,2);
end;
finally
MS.Free;
end;
end;