2015-12-28 90 views
0

我在生成报告时收到此错误。它说“索引(基于零)必须大于或等于零并小于参数列表的大小。”索引(基于零)必须大于或等于零且小于参数列表(VB.NET)的大小

我该如何解决这个问题?谁能帮我这个?我是vb.net编程的新手。提前致谢。

这是我的代码:

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

你'string.Format'需要5个参数({0} - {4}),而你只传递2. –

回答

0

您需要string.Format五年包换参数,你只有两个已经过去了。您正在访问未通过的{2},{3},{4}索引参数。

daEmployee.SetWhereClause(String.Format("cdr_site_id = '{0}' AND cdr_datetime BETWEEN '{1}' AND '{2}' AND cdr_call_class_code = 'OUTGOING' AND cdr_call_type_id IN({3}) AND a.employee_id IN({4}) group by cdr_date,cdr_time,cdr_call_type_code ORDER BY employee_name", siteId, employeeId, another-three-parameters-here)) 
+0

雇员通过三个,将采取的位置参数后,{2},{ 3},{4}。 –

相关问题