我是用数据流进行控制的,给你点代码,参考: var MyJPEG: TJPEGImage; Ms: TMemoryStream; connstr,dczhaop: string; begin with ADOQxhry do begin Close; SQL.Clear; SQL.Text := 'SELECT A0100,zp1 FROM aaa'; Open; while not eof do begin MyJPEG := TJPEGImage.Create; Ms := TMemoryStream.Create; TBlobField(FieldByName(zp1)).SaveToStream(Ms); Ms.Position := 0; ADOQdbfzp.Close; ADOQdbfzp.SQL.Clear; ADOQdbfzp.SQL.Text := 'SELECT * FROM lins'; ADOQdbfzp.Open; ADOQdbfzp.Append; ADOQdbfzp.FieldByName('A0100').AsString := FieldByName('A0100').AsString; TBlobField(ADOQdbfzp.FieldbyName('zp')).LoadFromStream(MS); ADOQdbfzp.Post; MyJPEG.Free; Ms.Free; Next; end; end;
这些类型都不能直接导出,你需要自己写个程序来处理这些类型
VFP9.0 可以用 Blob 或 Memo
再连接:连接 SQL Server
最后:取得临时表后,COPY TO DBF表名请参考:
<vfp如何使用spt>
http://faq.csdn.net/read/175938.html
var
MyJPEG: TJPEGImage;
Ms: TMemoryStream;
connstr,dczhaop: string;
begin
with ADOQxhry do
begin
Close;
SQL.Clear;
SQL.Text := 'SELECT A0100,zp1 FROM aaa';
Open;
while not eof do
begin
MyJPEG := TJPEGImage.Create;
Ms := TMemoryStream.Create;
TBlobField(FieldByName(zp1)).SaveToStream(Ms);
Ms.Position := 0;
ADOQdbfzp.Close;
ADOQdbfzp.SQL.Clear;
ADOQdbfzp.SQL.Text := 'SELECT * FROM lins';
ADOQdbfzp.Open;
ADOQdbfzp.Append;
ADOQdbfzp.FieldByName('A0100').AsString := FieldByName('A0100').AsString;
TBlobField(ADOQdbfzp.FieldbyName('zp')).LoadFromStream(MS);
ADOQdbfzp.Post;
MyJPEG.Free;
Ms.Free;
Next;
end;
end;