请问:把fastreport的报表存入数据库,中文问题(100分)

  • 主题发起人 主题发起人 OlinBin
  • 开始时间 开始时间
O

OlinBin

Unregistered / Unconfirmed
GUEST, unregistred user!
如果报表中有中文,读出时会出错,请问怎么处理????
 
你没有处理好吧,我也是这样处理的没问题
www.zptang.ys168.com
 
数据流 Blob字段就行了
 
我的代码如下:
stream := TMemoryStream.Create;
self.QModifyDB.Close;
self.QModifyDB.SQL.Clear;
self.QModifyDB.SQL.Add('select * from tblPrintTemplet where id=5');
self.QModifyDB.Prepared;
self.QModifyDB.Open;
TBlobField(self.QModifyDB.FieldByName('pcontent')).SaveToStream(stream);
stream.Position := 0;
self.frxReport1.Report.LoadFromStream(stream);
self.QModifyDB.close;
stream.Free;
预览和设计都没有数据,点击设计里面的打开按钮,有中文就出错,没有中文就显示模板内容!!!
请问我错在那里?
 
直接用fr本身的方法就可以了,不必自已写装载语句
with frReport1do
with tpQuerydo
begin
Close;
sql.Clear;
Sql.Add('select RptFrame from Rpt_Defines where ');
sql.Add('id='+dcRptFileName.KeyItems.Names[dcRptFileName.ItemIndex]);
Open;
if (RecordCount=1) and (TBlobField(FieldByName('RptFrame')).BlobSize > 0) then
begin
LoadFromBlobField(FieldByName('RptFrame'));
Close;
end
else
begin
Close;
ShowMessage('Error');
Abort;
end;
 
后退
顶部