gpt4 book ai didi

fastreport - 如何使用 C# 通过应用程序将自定义 sql 命令传递到 fastreport.net?

转载 作者:行者123 更新时间:2023-12-02 05:02:25 24 4
gpt4 key购买 nike

我开始使用 fastreport.net 在 C# 中生成报告,因为 Crystal reports 与 .net4 不兼容。它是如此简单,但也如此复杂。我尝试通过我的应用程序将 sql 命令传递到我的报告,但它不起作用。任何人都可以帮助我吗?这是代码:

        Report rpt = new Report();
rpt.Load("H:\\MyReport.frx");
rpt.SetParameterValue("Parameter", "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Confictionary");
FastReport.Data.TableDataSource data = rpt.GetDataSource("Contact") as FastReport.Data.TableDataSource;
data.SelectCommand = "SELECT * from contact";
rpt.Prepare();
rpt.ShowPrepared();

它在第 5 行抛出异常:“对象引用未设置为对象的实例。”请某人帮助我。
交易很多

最佳答案

我认为 SQL 命令应该位于报告模板集中,而不是动态的,除非这仅用于第一次创建报告文件。

我用这个:

           FReport.SetParameterValue("SQL_rysys", ConnectionString);

if (FReport.Dictionary.Connections.Count > 0)
{
FReport.Dictionary.Connections[0].ConnectionString = ConnectionString;
FReport.Dictionary.Connections[0].ConnectionStringExpression = "[SQL_rysys]";
FReport.Dictionary.Connections[0].CommandTimeout = 60;
}

此代码为参数“SQL_rysys”(英语为 SQL_connection)分配值,我传递 SQL 连接字符串。此外,如果数据源字典中有任何连接,我会将连接字符串分配给第一个连接。

所以我的报告总是获得正确的连接字符串,但 SQL 查询已包含在报告中。因为没有其他方法可以在设计器中创建报表而不使用查询来获取数据,并且该查询保存在 XML 报表文件 (frx) 中。

我在 fastreport 支持中询问如何分配查询,但他们的支持很糟糕,菜鸟也在那里工作。

关于fastreport - 如何使用 C# 通过应用程序将自定义 sql 命令传递到 fastreport.net?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com