如何将OLEVariant用ADO保存到SQL数据库 ( 积分: 50 )

  • 主题发起人 主题发起人 BusinessPower
  • 开始时间 开始时间
B

BusinessPower

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将OLEVariant用ADO保存到SQL数据库???
 
如何将OLEVariant用ADO保存到SQL数据库???
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3154452

看看这个连接.. 可不可以解决你的问题了..........
 
ClientDataSet1.Data := OLEVariant;
While Not ClientDataSet1.Eof do ...
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1797955
在delphi中怎样使用ADO的AppendChunk写SQL Server BLOB字段
看看这个吧???
 
var
v: OleVariant;
begin
adoquery1.FieldByName('xxx').AsVariant := v;
end;

看看行不行,你在更新的时候
 
TO:chenybin
之前我用的就是这个方法!存储的结果不正确,
 
存的结果不正确还是你读取不正确?

你把完整的代码贴出来看看
 
你是想存WORD的内容什么的吗?
 
你想保存成什么类型的?字符的可用vartostr 这个函数转换一下
 
TVarData(globalvt).VType := varByRef or varByte;
if (not (TVarData(gLobalvt).VPointer = nil)) then
begin
FreeMem(TVarData(globalvt).VPointer);
TVarData(globalvt).VPointer := nil;
end;

gDocSize := OC.DocSize;
TVarData(globalvt).VPointer := AllocMem(gDocSize);
OC.SaveToVariant(globalvt);

OC是打开WORD文件的控件,
他有方法将文件存到globalvt中
gLobalvt: OLEVariant;
gDocSize: Longint;
我如何将gLobalvt这个变量的内容存到数据库的FIEL(IMAGE字段格式) 中!!!
救 命啊......................
 
我觉得还是直接通过流的方式

oc.savetostream(ms)

adoblobstream
 
保存:

var
str:TMemoryStream;
begin
str:=TMemoryStream.Create();
table1.edit;
OleContainer1.SaveToStream(str);
TBlobField(table1.fieldbyname('f4')).LoadFromStream(str);
table1.Post;
str.Free;
end;

装入:

var
str:TBlobStream;
begin
str:=TBlobStream.Create(TBlobField(table1.fieldbyname('f4')),bmRead);
OleContainer1.LoadfromStream(str);
str.Free;
end;
 
oc.savetostream 没有这个方法
 
OleContainer1.SaveToStream();
 
后退
顶部