
Я работаю над проектом C# (версия 5), в котором мне нужно создать Отчет в формате PDF с использованием Crystal Reports и базы данных PostgreSQL. У меня есть хранимая процедура, которая принимает один входной параметр (refno), и я могу успешно получить данные в DataTable и DataSet. Однако когда я пытаюсь создать отчет, я постоянно сталкиваюсь с ошибкой: «Отсутствуют значения параметров».
Код: Выделить всё
public void GenerateAck(string refno)
{
using (IDataStore dataStore = DataStores.NewEGWBillDS)
{
DSTransaction trans = dataStore.BeginTransaction();
DataTable dt_ack = new DataTable("S_P_ACKNOWLEDGEMENT");
DataSet M_Ds = new DataSet();
DataStores.NewEGWBillDS.FillDataTable(new SP_S_P_ACKNOWLEDGEMENT() { AppNo = refno }, dt_ack);
M_Ds.Tables.Add(dt_ack);
if (M_Ds.Tables[0].Rows.Count > 0)
{
string fileName = refno + "_ACK_" + DateTime.Now.ToString("HHmmss") + ".pdf";
string path = ConfigurationManager.AppSettings["DocPath"].ToString();
string w_path = "NSC\\" + DateTime.Now.ToString("yyyy");
if (!Directory.Exists(path + "\\" + w_path))
Directory.CreateDirectory(path + "\\" + w_path);
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(Server.MapPath("~\\Reports\\rpt_AppAck_Receipt.rpt"));
cryRpt.SetDataSource(M_Ds.Tables[0]);
cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, path + "\\" + w_path + "\\" + fileName);
cryRpt.Close();
cryRpt.Dispose();
// Some other code for logging and displaying the generated PDF
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... sharp-code
Мобильная версия