Cystal Report中如何让用户选择数据库?

首先设定一个xml文件,然后在水晶报表里添加数据文件(xml文件),对报表进行设
计。
程序实现:读取access里的数据,然后根据数据集重写xml文件,接着绑定水晶报表就
ok了。
这样就是不管你用什么数据库,只要你的程序能读到数据就可以了。xml实现了水晶报
表和数据库的分离。
阅读更多

cystal report 释放连接

04-06

问题:rn 在一个listctrl控件上有几条数据(实际为几个报表的表名),双击一项,打开对应的报表(使用水晶报表,连接access)内容;rn 反复双击后,达到一定次数(61次),弹出对话框(Crystal Report Viewer)如下错误:rn 登录失败。rn 详细资料:DAO Error Code:0xbedrn Source:DAO.DbEnginern Description:客户端的工作过多。rnrn个人分析应该是没有释放数据连接,但不知如何释放?rnrn[code=C/C++]rnvc代码rnvoid CSvDlgPrintReport::OnDblclkListTemplates(NMHDR* pNMHDR, LRESULT* pResult) rnrn // TODO: Add your control notification handler code herernrn if (m_ctrCRViewer.GetIsBusy())//非常重要,防止切换过快导致加载失败报错rn rn return; rn rnrnrn NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;rn int nIndex = pNMListView->iItem;rn if (nIndex == -1)//选中某iconrn rn return;rn rn CString strProfile = CSvToolkit::GetAppDir() + "\\Paras\\Templates\\" + m_arrstrTempName[nIndex];rn rn //获取m_Report变量rn VARIANT dummy;rn VariantInit(&dummy); rn dummy.vt = VT_EMPTY;rnrn m_Report->Release();rnrnrn m_Report = m_Application->OpenReport(_bstr_t(strProfile),dummy);rn rn //设置报表作者rn m_Report->PutReportAuthor ("andrew");rn //将m_Report与报表控件连接rn m_ctrCRViewer.SetReportSource(m_Report);rn //显示报表工具条rn m_ctrCRViewer.SetDisplayToolbar (TRUE);rn //不显示报表左边的分组树rn m_ctrCRViewer.SetDisplayGroupTree (FALSE);rn //不显示控件边框rn m_ctrCRViewer.SetDisplayBorder (FALSE);rn //显示报表内容rn m_ctrCRViewer.ViewReport();rn //刷新数据rn m_ctrCRViewer.Refresh();rnrn *pResult = 0;rnrn[/code]

没有更多推荐了,返回首页