key_public,key_all是两个olevariant变量接收到一个dll传送的两个TVarData类型数值,能用以下方法拿到尺寸和指针;
size: TVarData(key_all).VArray.bounds[0].ElementCount;
pointer: TVarData(key_all).VArray.Data;如何通过ado存放到sql数据库的image类型字段中呢??
FieldByName('key_all').??????
size: TVarData(key_all).VArray.bounds[0].ElementCount;
pointer: TVarData(key_all).VArray.Data;如何通过ado存放到sql数据库的image类型字段中呢??
FieldByName('key_all').??????
sumstr : string;//sumstr 存放二进值数据
try
....
st1:=Tstringstream.Create(sumstr);
adoquery.Append;
TBlobField(adoquery.FieldByName('image') as TBlobField).LoadFromStream(st1);
adoquery.Post;
finally
freeandnil(st1);
end;
to→ cdsgajxlp(新手)
TBlobField(adoquery.FieldByName('image') as TBlobField).LoadFromStream(st1);
为什么要转两次tblobfield类型呢,一次就可以了吧
stm.SetSize(TVarData(key_all).VArray.bounds[0].ElementCount);
stm.Position:=0;
Move(TVarData(key_all).VArray.Data^, stm.Memory^, TVarData(key_all).VArray.bounds[0].ElementCount);
(FieldByName('all_key') as TBlobField).LoadFromStream(stm);
stm.Free;