1.在fastreport中如何判断当某一数据为正数,则在报表中其前面加一个‘+’,当某一数据为负数,则在报表中其前面加一个‘-’,具体的操作如何?要怎么写语句?
2.我用DBImage1来直接连接一个image字段,为什么在保存很小的图片(几k)就可以,一旦保存大图片,根本无法保存。想知道这是为什么?大家在把图片保存在数据库中又是如何进行的啊!
谢谢!
2.我用DBImage1来直接连接一个image字段,为什么在保存很小的图片(几k)就可以,一旦保存大图片,根本无法保存。想知道这是为什么?大家在把图片保存在数据库中又是如何进行的啊!
谢谢!
解决方案 »
- C# 调用Delphi 写得com 组件问题?
- 以下的语句是什么语法?
- 请教:我用fastreport4开发报表,为什么我的报表预览的时候每一页只能显示一条记录?
- Delphi中有没有类似于asp.net中的datalist控件,第三方的也行.
- 在dxdbgrid空间中某个cell右击触发哪个函数?
- 如何获取OpenDialog所打开文件的绝对路径和文件名(不要扩展名)?
- 打包时为什么数据库没打包进来
- DBGRID的picklist問題,在线等!
- 求助:我的 scoket 为什么不能把图片传过去,我是错在哪里?谢谢!
- C/S多层数据服务器题
- 急!急!各位楼主帮手看看这代码有什么错误?在线!
- 关于用TClientDataSet来存放大批量数据,急!
设置Picture1的blobtype
设置Picture1的datafield
var
msmem:TmemoryStream;
jpg:TJpegImage;
D_C_esql:TClientDataSet;
s:string;
begin
with D_C_esql do
begin
D_C_esql:=TClientDataSet.Create(nil);
D_C_esql.RemoteServer:=CDM.SockC;
D_C_esql.ProviderName:='DSPEsqldu'; s:='select * from Dimg where 类名 = '+inttostr(intLeiMing)+' and ID = '''+(strLei)+'''';
Close;
CommandText:=s;
Open;
if RecordCount>0 then
Edit else
begin
Append;
FieldByName('ID').AsString:=strLei;
FieldByName('类名').AsInteger:=intLeiMing;
end; if img_z_E_Z.Picture.Graphic <> nil then
begin
msmem:=TmemoryStream.Create;
Jpg:=TjpegImage.Create;
jpg.Assign(img_z_E_Z.Picture.Graphic);
jpg.SaveToStream(msmem) ; // 1
// form2.Image1.Picture.Bitmap.SaveToStream(msmem); // 保存bmp图像的方法
msmem.Position :=0;
TBlobField(FieldByName('图片文件')).LoadFromStream(msmem);
Msmem.Free ;
jpg.Free;
end
else FieldByName('图片文件').AsString:='';
Post;
FUPDATE(d_C_esql);
Free;
end;
end;
//======================================
function img_gkxb(strLei:string;intLeiMing:integer):TJpegImage; //读取图片
var s:string; D_C_esql:TClientDataSet;
ms:TStringStream;
begin
with D_C_esql do
begin
D_C_esql:=TClientDataSet.Create(nil);
D_C_esql.RemoteServer:=CDM.SockC;
D_C_esql.ProviderName:='DSPEsqldu';
s:='select * from Dimg where 类名 = '+inttostr(intLeiMing)+' and ID = '''+strLei+''''; d_C_esql.Close;
d_C_esql.CommandText:=s;
d_C_esql.Open;
if d_C_esql.FieldByName('图片文件').AsString<>'' then
begin
ms:=TstringStream.Create('');
img_gkxb:=TJpegImage.Create;
TBlobField(d_C_esql.FieldByName('图片文件')).SaveToStream(ms);
img_gkxb.LoadFromStream(ms);
ms.Position :=0;
img_gkxb.LoadFromStream(ms);
// Form2.Image1.Picture.Bitmap.LoadFromStream(ms); //调用bmp图像的方法
end else img_gkxb:=nil;
Free;
end;
end;
//=======================
procedure PDelimg(strLei:string;intLeiMing:integer);//删除图片
var D_C_esql:TClientDataSet;
begin
with D_C_esql do
begin
D_C_esql:=TClientDataSet.Create(nil);
D_C_esql.RemoteServer:=CDM.SockC;
D_C_esql.ProviderName:='DSPEsqldu'; Close;
CommandText:=' delete from Dimg where 类名 = '+inttostr(intLeiMing)+' and ID = '''+strLei+'''';
Execute;
Free;
end;
end;
能说具体一点吗?是在DELPHI中的DATASET中字段设置Picture1的blobtype为那一个值?怎么找不到设置Picture1的datafield属性!
我用的是
Picture1->blobtype> btJPG
FastReport.v2.52.FireRose中文版 在Picture1->blobtype 下面二个就是datafield属性