我是通过参数传递的方法操作SQL数据库的,现在想在客户端的stringgrid里面显示图片,后台是通过存储过程查询数据,请问怎么将后台查询的结果传到客户端?
解决方案 »
- pack[0] := char($03) 这条语句的意思!!!急
- 请教如何向DBGridEh单元格中写数据?比如想把23这个数写到行为4,列为5的单元格中。
- 如何判断控件是否在设计阶段还是程序运行阶段
- 如何用FastReport的脚本语言代码设定粗体字?
- 不用ado连行吗?
- 急向高手请教一个双表更新的sql语句;
- 记录类型 和 流 的操作 谁看看啊
- 谁能帮小弟一把啊!!!
- 为什么for i:=0 to adoquery1.fieldcount -1 do adoquery1['序号']:=adoquery1.RecNO;不能显示各记录行的序号?解决者请进,有30分。
- 大送分!有高手想要么?
- ADOConnection中得Connected属性有何作用?
- 急!如何用delphi控制excel中的图片缩放?
也可用原生的ADO对象来实现
function FieldZip(Dataset: TDataset; BlobFieldName: string;
theFilename: string): Boolean;
var
Stream1: TMemoryStream;
begin
Result := True;
Stream1 := TMemoryStream.Create;
try
Stream1.LoadFromFile(theFileName);
Stream1.Seek(0, 0);
if(Dataset.State<>dsEdit) then
Dataset.Edit;
TBlobField(Dataset.FindField(BlobFieldName)).LoadFromStream(Stream1);
except
Result := False;
end;
Stream1.Free;
end;
显示图片:
function FieldUnzip(Dataset: TDataset; BlobFieldName: string;
theFilename: string): Boolean;
var
Stream1: TMemoryStream;
begin
Result := True;
if ((DataSet.RecordCount = 0) or
(TBlobField(DataSet.FindField(BlobFieldName)).BlobSize = 0)) then
begin
Result := False;
Exit;
end;
Stream1 := TMemoryStream.Create;
TBlobField(DataSet.FindField(BlobFieldName)).SaveToStream(Stream1);
Stream1.Seek(0, 0);
try
Stream1.SaveToFile(theFileName);
except
Result := False;
end;
Stream1.Free;
end;