我构建了一个包含报表查看器的表单,并且还在MySQL Workbench 8.0中创建了一个存储过程。该程序已经过测试,可以正常运行。这是我的代码:
private void LoadReport()
{
try
{
MySqlParameter quote = new MySqlParameter();
quote = new MySqlParameter("quote", SqlDbType.VarChar);
quote.Value = quote_id_box.Text;
MySqlConnection con = new MySqlConnection(conSettings.ToString());
MySqlCommand cmd = new MySqlCommand();
con.Open();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "project_report";
cmd.Parameters.Add(quote);
MySqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
DataSet ds = new DataSet();
dt.Load(dr);
cmd.ExecuteNonQuery();
Microsoft.Reporting.WinForms.ReportDataSource rds = new Microsoft.Reporting.WinForms.ReportDataSource("pr_DataSet", dt);
this.reportViewer1.LocalReport.DataSources.Add(rds);
this.reportViewer1.RefreshReport();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
dataTable正在从MySQL获得响应,并且其中包含正确的数据,但是问题在于报告不会显示该信息。它给了我
“报告来源尚未定义”
关于我在做什么错的任何想法?这是我第一次使用报表查看器生成报表。任何帮助将不胜感激。谢谢