我在過去的幾個小時內搜索了一下,這些問題都不適用於我的案例,所以希望大家可以提供幫助。 我有一個報告應用程序,用戶可以從DateTimePicker中選擇一個日期,並顯示具有最大數量值的項目。我使用報表查看器控件來顯示信息。從字符串中轉換日期和/或時間時C#轉換失敗
這裏是我的表適配器SQL查詢:
SELECT TOP (1)
Drink_Name,
SUM(Quantity) AS NoDrink,
Bill_No,
Staff_No,
Bill_Date,
Bill_Value,
Customer_No,
Unit_Price,
Quantity
FROM
(SELECT
Bill.Bill_No,
Bill.Staff_No,
Bill.Bill_Date,
Bill.Bill_Value,
Bill.Customer_No,
Bill_Detail.Drink_Name,
Bill_Detail.Bill_No AS Expr1,
Bill_Detail.Unit_Price,
Bill_Detail.Quantity
FROM
Bill INNER JOIN
Bill_Detail ON Bill.Bill_No = Bill_Detail.Bill_No
WHERE
(Bill.Bill_Date = @Bill_Date)
) AS Temp
GROUP BY Drink_Name,
Bill_No,
Staff_No,
Bill_Date,
Bill_Value,
Customer_No,
Unit_Price,
Quantity
ORDER BY NoDrink DESC
這裏是生成和數據加載到報表數據集的代碼
CoffeeShopDataSetTableAdapters.DataTable1TableAdapter adapter =
new CoffeeShopDataSetTableAdapters.DataTable1TableAdapter();
CoffeeShopDataSet.DataTable1DataTable table =
new CoffeeShopDataSet.DataTable1DataTable();
adapter.FillByMax(table, dateTimePicker1.Value.ToShortDateString());
ReportDataSource maxdatasource =
new ReportDataSource("DataSet1form3", (DataTable)table);
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(maxdatasource);
this.reportViewer1.LocalReport.Refresh();
this.reportViewer1.RefreshReport();
的問題是,我總是得到這個錯誤: 「
」在System.Data.dll中發生類型爲「System.Data.SqlClient.SqlException」的未處理的異常
附加信息:從字符串轉換日期和/或時間時轉換失敗。「
當我嘗試使用SQL Server管理2008年SQL查詢,它工作得很好,所以我認爲這是VS問題。 感謝所有提前。 對不起,對不起英文
什麼是返回的值通過dateTimePicker1.Value.ToShortDateString() –
是'Bill.Bill_Date'數據庫中的有效日期時間字段,或者它是一個字符類型字段(varchar,varchar等)?它可以包含空值嗎? – David
爲什麼你通過一個字符串而不是DateTime? –