Я включаю запрос SQL Server в C # и использую отчет RDLC для отображения результатов запроса.Мой запрос дает правильный результат при запуске на SQL Server, но я получаю ошибку
Преобразование не удалось при преобразовании даты / времени из символьной строки
при использовании его из C #код.Я не мог понять, почему получил эту ошибку.Пожалуйста, помогите мне
C # код:
DateTime Date =DateTime.Parse(d2.Value.Date.ToString());
string format = "yyyy-MM-dd";
MessageBox.Show(Date.ToString(format));
this.soldItemsDetailsTableAdapter.Fill(this.Daily_Sales_Report.SoldItemsDetails, Date.ToString(format));
Ошибка возникает в последней строке этого кода.
Дата хранится в базе данных в формате 'yyyy-MM-dd
', и приведенный выше код создает формат даты в соответствии с требованиями следующего кода:
MessageBox.Show(Date.ToString(format));
Запрос SQL Server:
SELECT
b.CompanyID, b.Category, a.ModelNo, a.ProductCode, a.Qty
FROM
(SELECT
s.DateSold, p.ProductID, p.ModelNo, p.ProductCode,
SUM(sipl.SubTotal) AS Qty
FROM
SalesInvoiceProductsList AS sipl
INNER JOIN
SalesInvoice AS s ON sipl.SalesInvoiceID = s.SalesInvoiceID
INNER JOIN
Product AS p ON sipl.ProductID = p.ProductID
GROUP BY
p.ModelNo, p.ProductCode, p.ProductID, s.DateSold) AS a
INNER JOIN
(SELECT DISTINCT
p.ProductID, p.CompanyID, cat.Category
FROM
Product AS p
INNER JOIN
Category AS cat ON p.CatID = cat.CatID
INNER JOIN
Company AS c ON p.CompanyID = c.CompanyID) AS b ON a.ProductID = b.ProductID
WHERE
(a.DateSold = @Date)
ORDER BY
b.CompanyID
Если я использую простой запрос, который также принимает date
ввод вместо этого сложного запроса, то НЕТ ошибки.Однако его сложный запрос прекрасно работает на SQL Server.