У меня есть MS Access
база данных, в которой есть таблица, которая содержит данные ниже.
TradeDate TradeType TicketNo PassengerName
11-Feb-19 SALE 1234 ABC
12-Feb-19 PURCHASE 0345 XYZ
Я хочу получить данные между двумя датами с помощью TradeType, ниже мой код из C #
public static DataTable GetSale(DateTime FromDate, DateTime ToDate, string TradeType)
{
DataTable dt = new DataTable();
OleDbConnection con = new OleDbConnection(Utility.GetConnectionString());
OleDbCommand cmd = new OleDbCommand("SELECT A.AgencyName, T.TradeDate, T.InvoiceNo, T.TicketNo, T.PassengerName, T.FatherName, T.TicketAmount, T.RefundAmount FROM Agencies AS A, Trade AS T WHERE T.Account_ID=A.Account_ID and T.TradeType=@TradeType And T.TradeDate>=@FromDate And T.TradeDate<@ToDate", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@FromDate", FromDate);
cmd.Parameters.AddWithValue("@ToDate", ToDate);
cmd.Parameters.AddWithValue("@TradeType", TradeType);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
con.Open();
da.Fill(dt);
con.Close();
}
во время выполнения моего кода
Несоответствие типов данных в выражении критериев.
Исключение выброшено.Что я делаю не так?