采用三层C/S实现图片存储到数据库中,现有问题求救?一、应用服务器,设置一接口函数,如下:
function TZBServer.FWriteBmp(szSQL,szParaName:String;pStringStream :TStringStream):boolean; //写
var
MStringStream : TStringStream;
begin
Result := False ;
MStringStream:=TStringStream.Create('');
MStringStream.CopyFrom(pStringStream,pStringStream.Size);
With QuerySaveHDL do
begin
try
SQL.Text := szSQL ;
if Trim(szParaName)<>'' then
ParamByName(szParaName).LoadFromStream(MStringStream,ftBlob);
ExecSQL;
Result := True;
finally
FreeAndNil(MStringStream);
end;
end;
end;二、客户端调用
procedure TFormSYS_TEST.BitBtn1Click(Sender: TObject);
Var
MfileStream : Tfilestream;
MStringStream : TStringStream;
szId,szMemo,szType,szSQL:String;
begin
szId := EditID.Text ;
szMemo := EditMEMO.Text ;
szType := ExtractFileExt(Editfilename.Text) ;
delete(szType,1,1); MfileStream := TFilestream.Create(Editfilename.text,fmOpenRead);
MStringStream:=TStringStream.Create('');
MStringStream.CopyFrom( MfileStream,MfileStream.Size); pData := pchar(MStringStream); szSQL:= 'Insert into zwh_testimage(id,type,memo,bmp) values( ' +
' ' + szID + ', ' +
'''' + szType + ''', ' +
'''' + szMemo + ''', ' +
' ' + ':pImage' + ')' ;
Try
DataModulePub.MidasConnectionPub.AppServer.FWriteBmp(szSQL,'pImage',MStringStream); //调用
finally
freeandnil(MfileStream);
freeandnil(MStringStream);
end;
end;三、问题
客户端调用
DataModulePub.MidasConnectionPub.AppServer.FWriteBmp(szSQL,'pImage',MStringStream);
不能这么写,主要参数类“TStringStream”好像不支持
function TZBServer.FWriteBmp(szSQL,szParaName:String;pStringStream :TStringStream):boolean; //写
var
MStringStream : TStringStream;
begin
Result := False ;
MStringStream:=TStringStream.Create('');
MStringStream.CopyFrom(pStringStream,pStringStream.Size);
With QuerySaveHDL do
begin
try
SQL.Text := szSQL ;
if Trim(szParaName)<>'' then
ParamByName(szParaName).LoadFromStream(MStringStream,ftBlob);
ExecSQL;
Result := True;
finally
FreeAndNil(MStringStream);
end;
end;
end;二、客户端调用
procedure TFormSYS_TEST.BitBtn1Click(Sender: TObject);
Var
MfileStream : Tfilestream;
MStringStream : TStringStream;
szId,szMemo,szType,szSQL:String;
begin
szId := EditID.Text ;
szMemo := EditMEMO.Text ;
szType := ExtractFileExt(Editfilename.Text) ;
delete(szType,1,1); MfileStream := TFilestream.Create(Editfilename.text,fmOpenRead);
MStringStream:=TStringStream.Create('');
MStringStream.CopyFrom( MfileStream,MfileStream.Size); pData := pchar(MStringStream); szSQL:= 'Insert into zwh_testimage(id,type,memo,bmp) values( ' +
' ' + szID + ', ' +
'''' + szType + ''', ' +
'''' + szMemo + ''', ' +
' ' + ':pImage' + ')' ;
Try
DataModulePub.MidasConnectionPub.AppServer.FWriteBmp(szSQL,'pImage',MStringStream); //调用
finally
freeandnil(MfileStream);
freeandnil(MStringStream);
end;
end;三、问题
客户端调用
DataModulePub.MidasConnectionPub.AppServer.FWriteBmp(szSQL,'pImage',MStringStream);
不能这么写,主要参数类“TStringStream”好像不支持
解决方案 »
- Delphi的加密函数转成C#好多错误,初次使用,请帮忙,多谢!
- 急!请问一下各位大GG,有没有关于DB控件(DataControls面板中)在数据库中的使用方法方面的书或是代码?
- 关于利用socket通讯多线程的问题,急急!!!!!!
- 麻烦哪位过来帮我看看这个错误提示是什么意思
- 怎样将字符串写入任何输入框中?
- 寫組件時,如何确認該組件是在設計模式還是在運行模式,因為在IDE中設計時,該組件的一些方法會執行(如MOUSEENTER等)
- 我的win2000server IIS中以前可是好好的,现在为什么不能运行ISAPI的.DLL了?
- 一个关于Listview的打印问题??
- 关于数据库二进制数据传输的问题,知道的帮帮忙吧
- 如何从函数中返回多个字符串?
- 想问问大家:计算机资格考试:程序员与软件工程师的区别及考试内容?
- 数据查询问题
ss:= MStringStream.DataString;