Member 12718897 Ответов: 1

Как я могу передать дату в качестве параметра в Crystal элемент


У меня есть две таблицы: одна таблица содержит информацию о продукте,а другая - информацию о дате.Я хочу сгенерировать отчет crystal, используя эти две таблицы из выбранной даты из средства выбора даты. я могу генерировать отчет без диапазона дат.
Итак, как передать эти два параметра даты в мой crystalreportviewer?

Что я уже пробовал:

частная ProductSell метода GetData()
{
СДТ типа datetime = dateTimePicker1.Значение.Дата;
Датавремя ЭДТ = dateTimePicker2.Значение.Дата;
Sqlconnection connection= новый SqlConnection(cn);

Команда sqlcommand cmd и = новая команда sqlcommand("выберите название,сумма(ProductCost)как ProductCost,сумма(параметр)как параметр,сумма(столбец productquantity)как столбец productquantity от ProductSell где группа Марка", подключение);

// SqlCommand cmd = new SqlCommand ("SELECT ProductSell.ProductName, sum(ProductSell.ProductCost) как pc, sum (ProductSell.ProductPrice) как pp, sum (ProductSell.ProductQuantity) как pq из ProductSell INNER JOIN Project ON ProductSell. ProjectID = Project. ProjectID WHERE (Project.Дата >='" + sdt+"') и (проект.Date <='" + edt+"') группа по ProductSell.Марка", подключение);

SqlDataAdapter sda = новый SqlDataAdapter(cmd);
ProductSell dsproductsell = новый ProductSell();
sda. Fill(dsproductsell, " ProdSellDT");
возврат dsproductsell;
}

частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
ProductSellReport psreport = новый ProductSellReport();
ProductSell dsproductsell = метода GetData();
psreport. SetDataSource(dsproductsell);
этот.ProductSellReportViewer. ReportSource = psreport;
этот.ProductSellReportViewer.RefreshReport();
}

1 Ответов

Рейтинг:
2

Karthik_Mahalingam

попробуй вот так

SqlCommand cmd = new SqlCommand("SELECT ProductSell.ProductName, sum(ProductSell.ProductCost)as pc,sum(ProductSell.ProductPrice)as pp,sum(ProductSell.ProductQuantity)as pq FROM ProductSell INNER JOIN Project ON ProductSell.ProjectID = Project.ProjectID WHERE (Project.Date >=@sdt) AND (Project.Date <=@edt) GROUP BY ProductSell.ProductName", connection);
              cmd.Parameters.Add("@sdt", startDateObj);
              cmd.Parameters.Add("@sdt", endDateObj);


всегда использовать Параметризованные запросы для предотвращения атак SQL-инъекций в SQL Server[^]