目前用的报表只支持varchar 类型的现实 谢谢高手
解决方案 »
- 怎么在程序中控制dbgrid是否选中整行?
- 还是接口问题。
- 如何关闭MDIFORM中的所有子窗口(MDICHILD)?
- 关于Copyfile() 命令和 Savedialog控件 使用,急,急,马上给分
- 软件调用windows下的tracert仅能看到ping多少,我现在想得到丢包率多少应如何处理呢?
- 寻找infopower for delphi6的解密版
- service的问题!
- 软件测试结束,请帮助过我的朋友进来拿分
- ADO连接access数据库更新备注类型的字段,再post的时候报错
- 谁能开发这样的机房计时记费系统
- Delphi的WriteProcessMemory问题
- 分不多,为我们四川同胞收集512条祝福,512楼揭帖
var
FFileHandle: THandle;
FMapHandle: THandle;
FFileSize: Integer;
PData: pointer;
begin
FFileHandle := FileOpen(filename, fmOpenRead);
FFileSize := GetFileSize(FFileHandle, nil);
FMapHandle := CreateFileMapping(FFileHandle, nil, PAGE_READONLY, 0, FFileSize, nil);
CloseHandle(FFileHandle);
PData := MapViewOfFile(FMapHandle, FILE_MAP_READ, 0, 0, FFileSize); //映射文件视图
SetLength(Result, FFileSize);
Move(PData^, Result[1], FFileSize);
UnmapViewOfFile(PData);
CloseHandle(FMapHandle);
end;可以把任何文件转换成varchar类型数据,如果以文本方式显示肯定是乱码。
上边的代码你试试,可能有的地方不太准确,稍微修改一下就可以了。
放图片的表有三个字段
staff_id 员工号
staff_photo 二进制的图片
staff_pic_name 图片的后缀名
然后显示的时候再解码出来
function ToBase64: String;
var
Stream: TFileStream;
begin
Result := ''; if FileExists(FFileName) then
begin
Stream := TFileStream.Create(FileName , fmOpenRead);
try
Result := Trim(dmPDF.IdEncoderMIME.Encode(Stream));
finally
Stream.Free;
end;
end;
end;