现在的位置: 首页 > 综合 > 正文

vc使用水晶报表

2013年04月25日 ⁄ 综合 ⁄ 共 1236字 ⁄ 字号 评论关闭

以水晶报表9为例 

一、导入水晶报表使用的动态联接库:根据实际修改文件路径。 

#import "C:/Documents and Settings/Administrator/桌面/cr/craxdrt9.dll" no_namespace 

  二、定义接口指针变量 

//水晶报表变量 

IApplicationPtr m_Application; 

IReportPtr m_Report; 

//水晶报表控件变量,在对话框中加入该控件 

CCrystalReportViewer9 m_CRViewer1; 

  三、具体实现步骤 

//实例化m_Application 

m_Application.CreateInstance (__uuidof(Application)); 

//获取m_Report变量 

//staff.rpt为通过向导建立的报表文件,数据库采用SQL Server 7.0 

m_Report =m_Application->OpenReport ("C://Documents and Settings//Administrator//桌面//cr//debug//staff.rpt"); 

//设置报表标题 

m_Report->put_ReportTitle (_bstr_t("Title")); 

//设置数据库连接变量 

//数据库服务器(local),数据库名staff,用户名sa,密码sa 

m_Report->Database ->Tables ->Item [1]->SetLogOnInfo("(local)","staff","sa","sa"); 

//设置检索SQL命令 

m_Report->put_SQLQueryString ((_bstr_t)"select * from person where id <'4' order by id"); 

//不显示重复字段 

m_Report->PutEnableSelectDistinctRecords (TRUE); 

//设置检索条件,采用水晶报表语法,功能同设置检索SQL命令 

m_Report->PutRecordSelectionFormula ((_bstr_t)"{person.id}='1'"); 

//设置报表作者 

m_Report->PutReportAuthor ("xiaojin"); 

//将m_Report与报表控件连接 

m_CRViewer1.SetReportSource(m_Report); 

//显示报表工具条 

m_CRViewer1.SetDisplayToolbar (TRUE); 

//不显示报表左边的分组树 

m_CRViewer1.SetDisplayGroupTree (FALSE); 

//不显示控件边框 

m_CRViewer1.SetDisplayBorder (FALSE); 

//刷新数据 

m_CRViewer1.Refresh (); 

//显示报表内容 

m_CRViewer1.ViewReport(); 

抱歉!评论已关闭.