gpt4 book ai didi

c# - 将参数值传递给 Crystal Report 中使用的存储过程

转载 作者:行者123 更新时间:2023-11-29 23:31:32 25 4
gpt4 key购买 nike

我正在使用 VS 2012 和 Crystal Reports。我在 MySQL 中编写了一个带有一个参数的存储过程,我在 Crystal 报告中使用这个存储过程,一切正常,但是当我使用 Crystal 报告的导出选项并将报告导出为 PDF 格式时,它包含空报告,因为我在 Crystal 报表的设计时已将参数值设置为空。我的代码如下。

protected void btn_search_Click(object sender, EventArgs e)
{

string qry = "Call SP_GeneralReport ('" + tbx_ddoCode.Text.ToUpper() + "')";
DataSet ds = Q.sendQueryToReport(qry);
ReportDocument crystalReport = new ReportDocument();
crystalReport.Load(Server.MapPath("GeneralEmpReport.rpt"));
crystalReport.SetDatabaseLogon("root", "", "localhost", "hr");
crystalReport.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource = crystalReport;
}
public DataSet sendQueryToReport(string qry)
{
//- if connection is closed then open the connection
if (myConn.State == System.Data.ConnectionState.Closed)
myConn.Open();

//- Create command and then assign Query
myComm = new MySqlCommand(qry, myConn);


myAdapter = new MySqlDataAdapter(myComm);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
// finally close the connection
myConn.Close();
return ds;
}

在浏览器中,我使用教科书将参数值传递给存储过程,它在浏览器中显示准确的结果,但是当我导出报告时出现问题,然后它显示空报告。至于 Crystal 报表设计中提到的,我将存储过程的默认值设置为空。

最佳答案

首先将 CrystalReportviewer 的 EnableParmeterPrompt 属性设置为 true,然后通过 Crystalreport 对象将参数传递给存储过程对象,如下所示 -

crystalReport.SetParameterValue(0, "parameterValue");

关于c# - 将参数值传递给 Crystal Report 中使用的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544307/

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