2015-08-30 1 views
0
public void FillPresentDays() 
{ 
    con.Open(); 

    cmd = new OleDbCommand("Select COUNT(*) from AttendanceDatabase WHERE EmpName [email protected] and Status [email protected] and WHERE Date between @d1 and @d2", con); 

    cmd.Parameters.AddWithValue("@EmpName", txtEmpName.Text); 
    cmd.Parameters.AddWithValue("@Status", txtP.Text); 
    cmd.Parameters.AddWithValue("@d1", dtDate1.Value.Date); 
    cmd.Parameters.AddWithValue("@d2", dtDate2.Value.Date); 

    cmd.ExecuteNonQuery(); 
    int count = (int)cmd.ExecuteScalar(); 
    txtPdays.Text = count.ToString(); 
    con.Close(); 
} 

Нехорошо нужна помощь для запросаСинтаксическая ошибка отсутствует оператор должен помочь в период между датой

+0

Попробуйте поместить пробел после вашего '=' знаков в запросе. –

+0

Я думаю, что два, где предложение - проблема –

+0

Все еще не работает :( –

ответ

1

Сказала же, как комментарий дополнительный пункт, где попробовать ниже

cmd = new OleDbCommand("Select COUNT(*) from AttendanceDatabase WHERE EmpName [email protected] and Status [email protected] and Date between @d1 and @d2", con) 
0

and WHERE неверен синтаксис.

У вас может быть только одна статья WHERE.

+0

Как я могу найти общее количество текущих дней между двумя датами? –

1

Вы запрос неверен. предложение WHERE может появляться только один раз в одном запросе.

Изменение:

Select COUNT(*) from AttendanceDatabase WHERE EmpName [email protected] and Status [email protected] and WHERE Date between @d1 and @d2" 

к:

Select COUNT(*) from AttendanceDatabase WHERE EmpName [email protected] and Status [email protected] and Date between @d1 and @d2" 
+0

Спасибо! Я уже работаю. –

Смежные вопросы