代码如下:var mstr:TMemoryStream;
begin
mstr:=TMemoryStream.Create;
mstr:=getkqinfo; memo1.Lines.LoadFromStream(mstr);
end; function getkqinfo:TMemoryStream;
var mstr:TMemoryStream;
begin
mstr:=TMemorySTream.Create;
with Adoqry2 do
begin
Active := True;
if not IsEmpty then
begin
TBlobField(FieldByName('kqinfo')).SaveToStream(mstr);
end;
end;
result := mstr;
end;请大家帮忙看下,为什么memo1取不到数,我测试了的,返回来的mstr size大小超过20000。
begin
mstr:=TMemoryStream.Create;
mstr:=getkqinfo; memo1.Lines.LoadFromStream(mstr);
end; function getkqinfo:TMemoryStream;
var mstr:TMemoryStream;
begin
mstr:=TMemorySTream.Create;
with Adoqry2 do
begin
Active := True;
if not IsEmpty then
begin
TBlobField(FieldByName('kqinfo')).SaveToStream(mstr);
end;
end;
result := mstr;
end;请大家帮忙看下,为什么memo1取不到数,我测试了的,返回来的mstr size大小超过20000。
begin
mstr:=TMemoryStream.Create;
if getkqinfo(mstr) then
memo1.Lines.LoadFromStream(mstr);
mstr.Free;
end;function getkqinfo(mstr: TMemoryStream): Boolean;
begin
with Adoqry2 do
begin
Active := True;
if not IsEmpty then
begin
TBlobField(FieldByName('kqinfo')).SaveToStream(mstr);
result := True;
end
else result := False;
end;
end;
begin
Result := TMemorySTream.Create;
Result.LoadFromFile('c:\sql.txt');
Result.Position := 0;
end;procedure TForm11.btn1Click(Sender: TObject);
begin
mmo1.Lines.LoadFromStream(getkqinfo);
end;
上边的例子演示了stream读取如果你确定mstr不为nil, 执行下 mstr.Position := 0;
是的,设了position := 0 就好了。