13.12.2011, 09:24 | #1 |
Участник
|
Ошибка при запросе QueryByAttribute
Выскакивает ошибка при запросе, если данные есть то запрос отрабатывает отлично, но если нет в БД данных то выдает ошибку.
QueryByAttribute qever = new QueryByAttribute(); qever.Attributes.AddRange(new string[] { "phr_data_phone_mobileno_11" }); qever.ColumnSet = new ColumnSet(new string[] { "phr_countersid" }); qever.EntityName = "phr_counters"; qever.Values.AddRange(new object[] { "8925000000" }); RetrieveMultipleRequest request = new RetrieveMultipleRequest(); request.Query = qever; Collection<Entity> entityList = ((RetrieveMultipleResponse)service.Execute(request)).EntityCollection.Entities; EntityReference _guidcountershift = entityList[0].Attributes["phr_countersid"] as EntityReference; Сообщение об ошибке Workflow paused due to error: Unhandled Exception: System.InvalidOperationException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции. Имя параметра: indexERROR Ошибка запроса ERROR Ошибка Execute в PRSGReadSMS.MainSMSClassRead.Execute(CodeActivityContext executionContext) в System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) в System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) |
|
13.12.2011, 10:54 | #2 |
Участник
|
Первая строка возвращает вам коллекцию записей. Если данных нет, то коллекция пустая. А далее вы берете нулевой элемент коллекции. А в пустой коллекции нет ни одного элемента.
|
|
|
За это сообщение автора поблагодарили: smlrus (1). |
13.12.2011, 11:25 | #3 |
Участник
|
griefon Спасибо большое
|
|