2015-12-28 5 views
0

Я получаю эту ошибку, когда создаю свой отчет. В нем говорится:Ошибка сервера в '/' Application VB.NET

У вас возникла ошибка в синтаксисе SQL; в руководстве, соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи ') GROUP BY cdr_id, cdr_extension_no, cdr_datetime, cdr_digits, cdr_destination,' в строке 19

Как я могу решить эту проблему? Я новичок в программировании vb.net.

Это мой код:

If String.IsNullOrEmpty(reportFilter) Then 
    daEmployee.SetWhereClause(String.Format("cdr_site_id = '{0}' AND a.employee_id IN({1}) AND cdr_datetime BETWEEN '{2}' AND '{3}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) GROUP BY cdr_id, cdr_extension_no, cdr_datetime, cdr_digits, cdr_destination, cdr_charge_amount, cdr_duration_format, cdr_duration_number, cdr_charge_to, department_code, department_description ORDER BY employee_name", siteId, employeeId, startDateTime, endDateTime, callClass, callType)) 

Else 
    daEmployee.SetWhereClause(String.Format("cdr_site_id = '{0}' AND a.employee_id IN({1}) AND cdr_datetime BETWEEN '{2}' AND '{3}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({4}) GROUP BY cdr_id, cdr_extension_no, cdr_datetime, cdr_digits, cdr_destination, cdr_charge_amount, cdr_duration_format, cdr_duration_number, cdr_charge_to, department_code, department_description ORDER BY employee_name", siteId, employeeId, startDateTime, endDateTime, callClass, callType)) 
End If 
+0

вы можете запустить запрос в одиночку первый \ – tharif

+0

Я не знаком с методом SetWhereClause но вы придав ему GROUP BY, а также, я думаю, что это не разрешено. –

+0

Существуют ли несколько типов вызовов в параметре {4}, и как вы их разграничиваете (т. Е. Обязательно не оставляете конечную запятую), также является строковым типом данных? – jimo3

ответ

1

Я уже решить мою проблему. Проблема в том, где это предложение. Время отсутствия CDR отсутствует. Мне жаль, что вы беспокоили некоторых из вас. Спасибо за ваши ответы. Это мой код:

If String.IsNullOrEmpty(reportFilter) Then 
    daEmployee.SetWhereClause(String.Format("cdr_site_id = '{0}' and a.employee_id in ({1}) and cdr_datetime BETWEEN '{2}' AND '{3}' group by cdr_date,cdr_time,cdr_call_type_code ORDER BY employee_name", siteId, employeeId, startDateTime, endDateTime)) 
Else 
    daEmployee.SetWhereClause(String.Format("cdr_site_id = '{0}' and a.employee_id in ({1}) and cdr_datetime BETWEEN '{2}' AND '{3}' group by cdr_date,cdr_time,cdr_call_type_code ORDER BY employee_name", siteId, employeeId, startDateTime, endDateTime)) 
End If 
+0

Это было предложение IN() с использованием параметра {4}? Вы должны прояснить это в своем ответе, если это так. – jimo3

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