服务器端采用的是ADO连接的数据库。方法可以参考《Delphi2010+DataSnap白皮书》,挺不错的一份资料,通俗易懂。
昨天发现存储图片的时候发生错误,小图片20k-30k的可以正常存储,大点的80+k的就报错了,目前还没有找到原因。以下是抛开DataSnap,直接用ADO操作的代码,可以正常通过。
function TForm1.savepmt(ItemImg: TMemoryStream; fdid: string): boolean;
begin
with ADOQuery_PZT do
begin
Close;
sql.Text := 'select * from FenDian where 0=3';
Open;
end;
with ADOQuery_PZT do // 写入信息
begin
Close;
SQL.Text :=
'Update FenDian set FDPMT=:P_FDPMT where FenDianID=''' + fdid +
'''';
Parameters.ParamByName('P_FDPMT').LoadFromStream(ItemImg, ftBlob);
try
execsql;
result := true;
except
result := false;
end;
end;
end;
<