First off, don't do it like that: Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead. It will probably also cure your problem.
There is also a BETWEEN clause in SQL:
SELECT * FROM MyTable WHERE myDate BETWEEN startDate AND endDate
So if you restructure your code to use a parameterised query and use BETWEEN is should solver you problem. I don't know how the rest of your code looks, but here's a simple version:
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT SUM(sivd_Qnt) AS sivd_Qnt FROM sales_invoices_details WHERE sivd_Sale_DATE BETWEEN @SD AND @ED", con))
{
cmd.Parameters.AddWithValue("@SD", dateTimePicker1.Value);
cmd.Parameters.AddWithValue("@ED", dateTimePicker2.Value);
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
int qnt = (int) reader["sivd_Qnt"];
...
}
}
}
}