各位帮我的朋友:
我用socketconnection开发三层的东东,在线层池中设置了一个过程,用来接收客户端发过来的信息,并按照该信息查找出符合的纪录,返回客户端。现在有个字段是用来存储图片的,该如何实现?代码如下,希望各位帮帮忙。
procedure TServer.FindName(var UseID, PassWord, UseName,
UseGroup: OleVariant; var Photo: IPictureDisp; var Memo, BirthDay,
VReturn: OleVariant);
begin
VReturn:='F';
try
with tadoquery.Create(nil) do
begin
Connection:=Dm.ADOCon;
Sql.Text:='select * from 用户表 where 登陆ID='''+UseID+'''';
Open;
if not isempty then
begin
if FieldByname('密码').asstring=Password then
begin
VReturn:='T';
UseName:=FieldByName('用户姓名').AsString;
UseGroup:=FieldByname('用户组').asstring;
Memo:=FieldByname('备注').asstring;
BirthDay:=FieldByname('出生年月').AsDateTime; If not FieldByname('头像').IsNull then
begin
MyStream:=TMemoryStream.Create ;
JpgFile:=TjpegImage.Create ;
TBlobField(FieldByName('头像')).SaveToStream(MyStream);
MyStream.Position :=0;
jpgfile.LoadFromStream(MyStream);
// Photo:=JpgFile;
{Picture:=Timage.Create();
PictureAssign(JpgFile); }
end
else
begin
// Photo.picture:=nil;
end;
end
else
VReturn:='F';
end;
free;
end;
except
Messagedlg('对象创建失败!',mtwarning,[mbok],0);
end;
end;或者给另外一条思路
我用socketconnection开发三层的东东,在线层池中设置了一个过程,用来接收客户端发过来的信息,并按照该信息查找出符合的纪录,返回客户端。现在有个字段是用来存储图片的,该如何实现?代码如下,希望各位帮帮忙。
procedure TServer.FindName(var UseID, PassWord, UseName,
UseGroup: OleVariant; var Photo: IPictureDisp; var Memo, BirthDay,
VReturn: OleVariant);
begin
VReturn:='F';
try
with tadoquery.Create(nil) do
begin
Connection:=Dm.ADOCon;
Sql.Text:='select * from 用户表 where 登陆ID='''+UseID+'''';
Open;
if not isempty then
begin
if FieldByname('密码').asstring=Password then
begin
VReturn:='T';
UseName:=FieldByName('用户姓名').AsString;
UseGroup:=FieldByname('用户组').asstring;
Memo:=FieldByname('备注').asstring;
BirthDay:=FieldByname('出生年月').AsDateTime; If not FieldByname('头像').IsNull then
begin
MyStream:=TMemoryStream.Create ;
JpgFile:=TjpegImage.Create ;
TBlobField(FieldByName('头像')).SaveToStream(MyStream);
MyStream.Position :=0;
jpgfile.LoadFromStream(MyStream);
// Photo:=JpgFile;
{Picture:=Timage.Create();
PictureAssign(JpgFile); }
end
else
begin
// Photo.picture:=nil;
end;
end
else
VReturn:='F';
end;
free;
end;
except
Messagedlg('对象创建失败!',mtwarning,[mbok],0);
end;
end;或者给另外一条思路
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货