我被要求浏览超过1000份Crystal Reports,以查找每份报告中使用的商店程序和/或表名称。我想以编程方式执行此操作,但我从CR对象模型中读取这些值的方式并不多见。
ReportDocument对象上有一个 GetAttributes 方法,但我不知道这是否适合查看。
有什么建议吗?
答案 0 :(得分:0)
GetAttributes不是我需要的。这就是我使用的(使用目录中的文件列表......)
foreach (string repFile in filePaths)
{
string reportName = repFile.ToString().Replace(folderPath, "");
string tableName = string.Empty;
string cmdText = string.Empty;
string storedProc = string.Empty;
try
{
cryRpt.Load(repFile);
}
catch (Exception rptErr)
{
lblResults.Text += reportName + " - generated Error: " + rptErr.Message + Environment.NewLine; ;
}
cmdText = cryRpt.RecordSelectionFormula.ToString();
foreach (Table tab in cryRpt.Database.Tables)
{
if (tab.Name.ToUpper().Contains("RPT_") || tab.Name.ToUpper().Contains("SP_"))
{
storedProc = tab.Name;
}
else
{
tableName = tab.Name;
}
}