Доступ к таблице запрос к БД дает несоответствие типов данных ошибка c#
Я пытаюсь запросить базу данных access, чтобы получить сумму столбца на выбранную дату, введенную определенным персоналом, но получаю ошибку, говорящую о несоответствии типа данных
вот код
private void button1_Click(object sender, EventArgs e) { getsum(); } public void getsum() { string query = @"select SUM(SQuantity) AS Total FROM Sales where Sdate=@date AND Staffid=@mobile"; using (var conn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data source=|DataDirectory|\\crepeDB.accdb;")) using (var cmd = new System.Data.OleDb.OleDbCommand(query, conn)) { cmd.Parameters.Add("@mobile", System.Data.OleDb.OleDbType.VarChar).Value = '1'; cmd.Parameters.Add("@date", System.Data.OleDb.OleDbType.VarChar).Value = dateTimePicker1.Value.Date; conn.Open(); using (var rdr = cmd.ExecuteReader()) { if (rdr.Read()) { textBox1.Text = rdr["Total"].ToString(); } rdr.Close(); } } }
Что я уже пробовал:
Я пробовал его без условия Where, и он работал нормально, код был таким
private void button1_Click(object sender, EventArgs e) { getsum(); } public void getsum() { string query = @"select SUM(SQuantity) AS Total FROM Sales"; using (var conn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data source=|DataDirectory|\\crepeDB.accdb;")) using (var cmd = new System.Data.OleDb.OleDbCommand(query, conn)) { cmd.Parameters.Add("@mobile", System.Data.OleDb.OleDbType.VarChar).Value = '1'; cmd.Parameters.Add("@date", System.Data.OleDb.OleDbType.VarChar).Value = dateTimePicker1.Value.Date; conn.Open(); using (var rdr = cmd.ExecuteReader()) { if (rdr.Read()) { textBox1.Text = rdr["Total"].ToString(); } rdr.Close(); } } }