Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2013, 15:25   #1
kgs_forum
Новичок
Джуниор
 
Регистрация: 18.07.2013
Сообщений: 1
По умолчанию Истекло время ожидания (Timeout). Время ожидания истекло до завершения операции или сервер не отвечает.

Здравствуйте всем! Мне надо загрузить данные из SQL базы в форму. Ниже указанный код, когда были подключены локально к серверу, нормально работал. Теперь выдает ошибку "Истекло время ожидания (Timeout). Время ожидания истекло до завершения операции или сервер не отвечает." В строке подключения Connection Timeout=600; и в SQL Tools->Options->Designers->Table and Database Designers "600 seconds" установила. Но проблема не решена. Когда через отладку проверяла, он данные из базы находит и только когда начинает в форму загрузить данные тут же ошибку выводит. Исключение выходит на строчке где отмечено красным. Как решить задачу?
Код:
 private bool LoadActualPayment(string raionCode, string postCode, string accountNo, DateTime payDate, string sectionType, decimal amount, DateTime period)
        {
            var orgId = GetOrgId(raionCode);

            var qbAccounts = new QueryBuilder(AccountDefId); //Лицевой счет

            qbAccounts.Where("AccountNo").Eq(accountNo).And("Organization").Eq(orgId).And("PostCode").Eq(postCode);

            using (var query = new DocQuery(qbAccounts))
            {
                var accounts = query.All().ToList();

                if (accounts.Count == 1)
                {
                    var qbOrders = new QueryBuilder(OrderDefId); //Почтовое поручение
                    qbOrders.Where("Account").Eq(accounts.First());

                    var qbOrderPayments = new QueryBuilder(OrderPaymentDefId); //Выплата по поручению
                    qbOrderPayments.Where("Year").Eq(period.Year).And("Month").Eq(period.Month).And("Section").Eq(
                       GetSectionId(sectionType)).And("&Id").In(qbOrders.Def, "OrderPayments");

                    using (var dq = new DocQuery(qbOrderPayments))
                    {
                        var orderPayments = dq.All().ToList();

                        if (orderPayments.Count == 1)
                        {
                            var qbActualPayments = new QueryBuilder(ActualPaymentDefId); //Выплата-факт
                            qbActualPayments.Where("OrderPayment").Eq(orderPayments.First()).And("&Id").In(
                                qbAccounts.Def,
                                "ActualPayments");

                            var actualPayments = new DocQuery(qbActualPayments).All().ToList();

                            if (actualPayments.Count == 1) //Выплата (факт) уже существует
                            {
                                using (dynamic payment = new DynaDoc(actualPayments.First(), Guid.Empty))
                                {
                                    payment.Date = payDate;
                                    payment.Save();
                                    return true;
                                }
                            }
                            if (actualPayments.Count == 0) //Выплаты (факт) нет
                            {
                                using (dynamic payment = DynaDoc.CreateNew(ActualPaymentDefId, Guid.Empty))
                                {
                                    payment.OrderPayment = orderPayments.First();
                                    payment.Date = payDate;
                                    payment.Doc.OrganizationId = orgId;

                                    using (var account = new DynaDoc(accounts.First(), Guid.Empty))
                                    {
                                        account.AddDocToList("ActualPayments", payment.Doc);
                                        payment.Save();
                                        account.Save();
                                    }
                                    return true;
                                }
                            }
                        }
                    }
                }
            }
            return false;
        }
kgs_forum вне форума Ответить с цитированием
Старый 20.08.2013, 20:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Даже не знаю что сказать...
Меня смутила эта конструкция:
Цитата:
qbAccounts.Where("AccountNo").Eq(ac countNo).And("Organization").Eq(org Id).And("PostCode").Eq(postCode);
Куда она возвращает запрос?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время ожидания истекло Swatch Microsoft Office Access 3 05.12.2012 13:06
Большое время ожидания ответа сервера pest11 БД в Delphi 9 29.03.2012 08:16
Ошибка "Время ожидания истекло" Kveldulv Microsoft Office Excel 0 16.02.2010 13:31
Время ожидания запроса подключения... Google[Bot] БД в Delphi 17 26.01.2009 01:11
Как определить время работы процедуры или операции? Roof Общие вопросы Delphi 7 18.01.2009 21:56