CrystalReport и хранимые процедуры с использованием C # Вопрос - PullRequest
0 голосов
/ 31 июля 2010

У меня есть приложение, которое должно создать отчет. Однако я не знаю, как создать отчет с помощью CrystalReport, который основан на запросе. Допустим, мне просто нужно сгенерировать отчет из моей базы данных, который показывает значения, возвращаемые моим запросом выбора. Я никогда не использовал Crystal Reports раньше, поэтому я новичок в этом.

Спасибо всем:)

EDIT:

Пока что вот что у меня есть:

ConnectionString myConnString = new ConnectionString();
string connString = myConnString.getConnectionString();
SqlConnection connSearch = new SqlConnection(connString);
connSearch.Open();

SqlCommand cmdLoad = new SqlCommand("Search", connSearch);
cmdLoad.CommandType = CommandType.StoredProcedure;

cmdLoad.Parameters.Add(new SqlParameter("@AccountID", currentUser));
cmdLoad.Parameters.Add(new SqlParameter("@PeriodID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@PriceID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@ExpenseID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@InventoryID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@ProductInID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@ProductOutID", " "));
cmdLoad.Parameters.Add(new SqlParameter("@PeriodMonth", periodMonth.Trim().ToUpper()));
cmdLoad.Parameters.Add(new SqlParameter("@PeriodYear", periodYear));

SqlDataReader read = cmdLoad.ExecuteReader();

DataSet ds = new DataSet();
DataTable dt = new DataTable("Results");
ds.Tables.Add(dt);
ds.Load(read, LoadOption.PreserveChanges, ds.Tables[0]);


CrystalReport1 crystal = new CrystalReport1();
crystal.SetDataSource(ds);
crystalReportViewer1.ReportSource = crystal;

connSearch.Close();
connSearch.Dispose();

Однако, похоже, здесь что-то не так, поскольку всегда возникает исключение, говорящее, что в отчете нет таблиц, указывающих на строку crystal.SetDataSource(ds);.

Кто-нибудь, помогите мне, пожалуйста? :)

Ответы [ 2 ]

1 голос
/ 01 августа 2010

Crystal Reports - очень эффективный инструмент, широко используемый в офисах по всему миру.Вы определенно делаете себе одолжение, знакомясь с ним ... и когда вы, это на самом деле довольно легко использовать.:)

CrystalReportViewer создаст удобный интерфейс и даст вам возможность экспортировать отчеты во все широко используемые форматы.

Чтобы ответить на ваш вопрос:

.Net onlyдает вам возможность создавать и просматривать отчеты так же, как в Crystal Report Client, за исключением того, что вы можете делать это с помощью кода.

На вашем месте я бы прочитал официальные документы и немного ознакомьтесь с отчетностью.

Я думаю, что в вашем случае ошибка может быть связана с этим, хотя вы назначили набор данных в качестве источника данных для своего отчета, возможно, в наборе данных нет таблицы или вы не выбрали поля для отображения вотчет.

Попробуйте отладить набор данных, прежде чем связать его с отчетом, и проверить, присутствует ли таблица.

0 голосов
/ 01 августа 2010

Хорошо, на самом деле это не ответ, но мой совет - сбросьте Crystal Reports, прежде чем углубляться в глубину .... это просто мир боли.

Создайте свои собственные отчеты в HTML, экспортировать в Excel - это тривиально, и есть бесплатные инструменты для экспорта в PDF, если вам нужно, вы даже можете использовать .Net-диаграммы.

.Net предоставляет вам все инструменты, необходимые для создания отчетов, кривая обучения, вероятно, не намного больше, а контроль, который вы получаете в итоге, значительно выше.

...