Crystal Report X在Visual C++ 2003/2005中的使用
来源:互联网 发布:广州瀚华设计院.知乎 编辑:程序博客网 时间:2024/04/29 04:33
方法一:
(也可以不用namespace,看个人习惯)
#include "craxddrt.h" //VC6中引入类型库中的类,并在生成的文件中添加名为CrystalReportWrapper的namespace
craxddrt.h修改:
namespace CrystalReportWrapper
{
...//craxddrt.h内容
}
craxddrt.cpp中在#include "craxddrt.h"后添加:
using namespace CrystalReportWrapper;
CCrystalReport10Viewer crReportViewer;
CrystalReportWrapper::IApplication crApplication;
CrystalReportWrapper::IReport crReport;
CrystalReportWrapper::IDatabase crDatabase;
CADODatabase adoDatabase;
CADOCommand adoCommand;
crApplication.CreateDispatch("CrystalDesignRunTime.Application.10");
COleVariant var((short)1);
crReport=crApplication.OpenReport("Report.rpt",var);
crDatabase=crReport.GetDatabase();
adoDatabase.ConnectAccess("soft.mdb");
adoCommand.SetDatabase(&adoDatabase);
adoCommand.SetText("SoftClass");
adoCommand.SetType(adCmdTable);
VARIANT var3;
var3.vt=VT_DISPATCH;
var3.punkVal=adoDatabase.m_pConnection;
VARIANT var4;
var4.vt=VT_DISPATCH;
var4.punkVal=adoCommand.GetCommand();
crDatabase.AddADOCommand(var3,var4);
crReportViewer.Create(NULL,WS_CHILD | WS_VISIBLE, CRect(0,0,0,0),this,1);
crReportViewer.put_ReportSource(crReport);
crReportViewer.Refresh();
crReportViewer.ViewReport();
方法二:
(注释为不带namespace)
#import "C:/Program Files/Common Files/Business Objects/2.7/Bin/craxddrt.dll"
//#import "C:/Program Files/Common Files/Business Objects/2.7/Bin/craxddrt.dll" no_namespace
CCrystalReport10Viewer crReportViewer;
CRAXDDRT::IApplicationPtr crApplication;
CRAXDDRT::IReportPtr crReport;
CRAXDDRT::IDatabasePtr crDatabase;
//IApplicationPtr crApplication;
//IReportPtr crReport;
//IDatabasePtr crDatabase;
CADODatabase adoDatabase;
CADOCommand adoCommand;
HRESULT hr = crApplication.CreateInstance(__uuidof(CRAXDDRT::Application));
//HRESULT hr = crApplication.CreateInstance(__uuidof(Application));
if(FAILED(hr))
{
MessageBox(_T("水晶报表初始化出错!"));
return -1;
}
COleVariant var((short)1);
crReport=crApplication->OpenReport("Report.rpt",var);
crDatabase=crReport->GetDatabase();
adoDatabase.ConnectAccess("soft.mdb");
adoCommand.SetDatabase(&adoDatabase);
adoCommand.SetText("SoftClass");
adoCommand.SetType(adCmdTable);
VARIANT var3;
var3.vt=VT_DISPATCH;
var3.punkVal=adoDatabase.m_pConnection;
VARIANT var4;
var4.vt=VT_DISPATCH;
var4.punkVal=adoCommand.GetCommand();
crDatabase->AddADOCommand(var3,var4);
crReportViewer.Create(NULL,WS_CHILD | WS_VISIBLE, CRect(0,0,0,0),this,1);
crReportViewer.put_ReportSource(crReport);
crReportViewer.Refresh();
crReportViewer.ViewReport();
方法三:
//这几个头文件由VC7.1添加类型库中的类产生,添加所需要的类
#include "CrystalReport10Application.h"
#include "CrystalReport10Report.h"
#include "CrystalReport10Database.h"
#include "CrystalReport10Sections.h"
#include "CrystalReport10Designer.h"
CCrystalReport10Viewer crReportViewer;
CCrystalReport10Application crApplication;
CCrystalReport10Report crReport;
CCrystalReport10Database crDatabase;
CADOCommand adoCommand;
crApplication.CreateDispatch("CrystalDesignRunTime.Application.10");
COleVariant var((short)1);
crReport=crApplication.OpenReport("Report.rpt",var);
crReport.put_EnableAsyncQuery(TRUE);
crDatabase=crReport.get_Database();
adoCommand.SetDatabase(&theApp.m_pConnection);
adoCommand.SetText("SoftClass");
adoCommand.SetType(adCmdTable);
VARIANT var3;
var3.vt=VT_DISPATCH;
var3.punkVal=theApp.m_pConnection.m_pConnection;
VARIANT var4;
var4.vt=VT_DISPATCH;
var4.punkVal=adoCommand.GetCommand();
//crDatabase.AddADOCommand(var3,var4);
crReportViewer.Create(NULL,WS_CHILD | WS_VISIBLE, CRect(0,0,0,0),this,1);
crReportViewer.put_ReportSource(crReport);
crReportViewer.ViewReport();
- Crystal Report X在Visual C++ 2003/2005中的使用
- Crystal Report在VS2010中的使用
- Crystal Report 在 VS 2010 中的使用
- 在 Visual Studio .NET中使用Crystal Report(上)
- 在 Visual Studio .NET中使用Crystal Report(中)
- 在 Visual Studio .NET中使用Crystal Report(下)
- 在 Visual Studio .NET中使用Crystal Report(上)
- 在 Visual Studio .NET中使用Crystal Report(中)
- 在 Visual Studio .NET中使用Crystal Report(下)
- 在 Visual Studio .NET中使用Crystal Report(上)
- 在 Visual Studio .NET中使用Crystal Report(中)
- 在 Visual Studio .NET中使用Crystal Report(下)
- 在 Visual Studio .NET中使用Crystal Report(上)
- 在 Visual Studio .NET中使用Crystal Report(中)
- 在 Visual Studio .NET中使用Crystal Report(下)
- 在 Visual Studio .NET中使用Crystal Report
- Crystal Report 在 VS 2010 中的使用和发布
- Crystal Report 在 VS 2010 中的使用和发布
- 用ASP.NET/C#连接Access和SQL Server数据库
- 使用Python的MD5算法比较两个文件
- 写给20岁-30岁男人的忠告
- JSP实战型程序连载
- 这句话不能问
- Crystal Report X在Visual C++ 2003/2005中的使用
- 安装petshop遇到的问题及解决方案
- 你爱我的身体,我爱你何?
- 本周互联网关注
- 软件复杂性度量中Halstead度量的各个指标值有具体的参考值吗?
- 你要掌握哪些财务知识?
- Web 2.0 编程思想:16条法则
- 近在咫尺的湖泊也清澈动人
- Java开源软件之开源江湖的六大帮派