问题描述
我正在使用Crystal Reports在Visual Studio 2019的c#mvc Web应用程序中创建报告。该报告有6个子报告,每个子报告都使用与主报告['billId']相同的参数。该报告在本地和我们的Dev服务器上运行都很好,这两个服务器都连接到.rpt文件中定义的同一数据库服务器。但是,当我使用另一台数据库服务器部署到我们的测试环境时,它当然无法连接。我们正在使用集成安全性。
然后,我添加了代码以遍历所有表和子报表(及其关联的表),从而以编程方式指定数据库服务器和每个登录信息。当我单步执行代码时,此方法似乎起作用,但最终在通过所有代码后的某个时间引发“提示信息丢失”错误。
我在SAP支持站点上发现的唯一建议是“更新子报表链接”。这些链接看起来都很好,或者我只是不明白“更新子报表链接”的真正含义。
这是我们的代码块:
num_row
结果堆栈跟踪:
$checkemail = $conn->prepare("Select email FROM users WHERE email = ?");
$checkemail->bind_param('s',$email);
$checkmail->execute();
$result = $checkmail->get_result();
if ($result->num_rows > 0) {
echo 'mail exist'; exit();
}else{
echo "mail doesn't exist";
}
任何想法或其他已知有效的代码模式将不胜感激! THX。
解决方法
此问题已解决。
我们的本地开发人员计算机通过CRforVS13SP27_0-10010309.EXE安装了Visual Studio的Crystal。
我们安装了最新版本CRforVS13SP28_0-10010309.EXE。重新启动后,此操作解决了“缺少提示信息”错误。
随后,我们删除了以下代码行:
CrystalReportViewer1.RefreshReport();
修复了后续问题,该问题是报告提示输入billID。