Stream.Seek(0, 0)问题(20)

  • 主题发起人 主题发起人 rgp1581
  • 开始时间 开始时间
R

rgp1581

Unregistered / Unconfirmed
GUEST, unregistred user!
if not adoqNetOpen.FieldByName('METAGE_WAGON_PICTURE').IsNull then
begin
Stream := TMemoryStream.Create;
try TBlobField(adoqNetOpen.FieldByName('METAGE_WAGON_PICTURE')).SaveToStream(Stream);
Stream.Seek(0, 0);
adoqLocUpdate.SQL.Text := ' insert into WAGON_PICTURE '+ ' (METAGE_ID,METAGE_WAGON_PICTURE') values(:METAGE_ID,:METAGE_WAGON_PIC)';
adoqLocUpdate.Parameters.ParamByName('METAGE_ID').Value := adoqNetOpen.FieldByName('METAGE_ID').AsString;
adoqLocUpdate.Parameters.ParamByName('METAGE_WAGON_PICTURE').LoadFromStream(Stream, ftBlob);
adoqLocUpdate.ExecSQL;
finally Stream.Free;
end;
end;
问题:seek()用法,参数表示是什么意思! 还有 LoadFromStream(Stream, ftBlob);
 
Stream.Seek(0, 0);等于 Stream.Position := 0;
 
直接用Stream.Position := 0;
就可以了Stream.Seek(a,b)就是从a的位置移动到b的位置,没多少意思
 
Seek:此方法实现流中读取指针的移动。函数原形为:Function Seek(Offset:Longint;Origint:Word):Longint;virtual;abstract;参数Offset为偏移字节数,参数Origint指出Offset的实际意义,其可能的取值如下:soFrombegin
ning:Offset为移动后指针距离数据开始的位置。此时Offset必须大于或者等于零。soFromCurrent:Offset为移动后指针与当前指针的相对位置。soFromEnd:Offset为移动后指针距离数据结束的位置。此时Offset必须小于或者等于零。该方法返回值为移动后指针的位置。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部