Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Ошибка Invalid Descriptor Index в параметризированном запросе (число прочтений - 6141 )
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #15 - 08. Ноября 2010 :: 13:13
Печать  
(0)
на основе #5
либо пишем
Запрос.Подготовить
Запрос.ДобПараметр
Запрос.УстПараметр

либо пишем
Запрос.Подготовить
Запрос.ПостроитьПараметры
Запрос.УстПараметр

а у Вас смешаны оба этих способа
  
Наверх
 
IP записан
 
TroYur
Junior Member
**
Отсутствует



Сообщений: 24
Зарегистрирован: 17. Октября 2006
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #16 - 08. Ноября 2010 :: 13:17
Печать  
вобще-то такое замечание уже было  Подмигивание

отвечал на него в посте №8
просто в код воткнул оба варианта одновременно
сейчас поправлю
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #17 - 08. Ноября 2010 :: 13:38
Печать  
Вот еще ошибка (исходя из #5)
либо используй непоименованные параметры ?
в этом случае
Запрос.ДобПараметр(1,14,9,0); // без пятого параметра

либо если используешь именнованные параметры то не объявляй переменую с тем же именем что и поименованный параметр.
в этом случае не нужны
     |DECLARE @Номенклатура CHAR(9)
     |SET @Номенклатура = ?

  
Наверх
 
IP записан
 
TroYur
Junior Member
**
Отсутствует



Сообщений: 24
Зарегистрирован: 17. Октября 2006
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #18 - 09. Ноября 2010 :: 07:38
Печать  
Z1 писал(а) 08. Ноября 2010 :: 13:38:
Запрос.ДобПараметр(1,14,9,0); // без пятого параметра

Вот так работает;

если же убрать
     |DECLARE @Номенклатура CHAR(9)
     |SET @Номенклатура = ?


то опять же результат запроса - 0...
видимо с виртуальными таблицами параметризованный запрос работает как-то по-особому)
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #19 - 09. Ноября 2010 :: 08:19
Печать  
TroYur писал(а) 09. Ноября 2010 :: 07:38:
Z1 писал(а) 08. Ноября 2010 :: 13:38:
Запрос.ДобПараметр(1,14,9,0); // без пятого параметра

Вот так работает;

если же убрать
     |DECLARE @Номенклатура CHAR(9)
     |SET @Номенклатура = ?


то опять же результат запроса - 0...
видимо с виртуальными таблицами параметризованный запрос работает как-то по-особому)


Если хочешь то попробуй поименованый параметр английскими буквами. может в этом проблема.

  
Наверх
 
IP записан
 
TroYur
Junior Member
**
Отсутствует



Сообщений: 24
Зарегистрирован: 17. Октября 2006
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #20 - 09. Ноября 2010 :: 09:01
Печать  
Z1 писал(а) 09. Ноября 2010 :: 08:19:
Если хочешь то попробуй поименованый параметр английскими буквами. может в этом проблема.


вопрос в другом - почему ПостроитьПараметры() не работает?
ведь если параметров больше одного и заранее неизвестно сколько их будет, не очень удобно использовать ДобПараметр(), ИМХО
  
Наверх
IP записан
 
TroYur
Junior Member
**
Отсутствует



Сообщений: 24
Зарегистрирован: 17. Октября 2006
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #21 - 09. Ноября 2010 :: 09:24
Печать  
хех... а в форме списка-то и вовсе не пашет(((
1С падает с SQL State HY000

установка таймаута тоже не помогает
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #22 - 09. Ноября 2010 :: 09:40
Печать  
TroYur писал(а) 09. Ноября 2010 :: 09:01:
Z1 писал(а) 09. Ноября 2010 :: 08:19:
Если хочешь то попробуй поименованый параметр английскими буквами. может в этом проблема.


вопрос в другом - почему ПостроитьПараметры() не работает?
ведь если параметров больше одного и заранее неизвестно сколько их будет, не очень удобно использовать ДобПараметр(), ИМХО

у меня работает. была здесь ветка по сводному остатку. там точно есть работающий пример с использованием ПостроитьПараметры.

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #23 - 09. Ноября 2010 :: 09:42
Печать  
TroYur писал(а) 09. Ноября 2010 :: 09:24:
хех... а в форме списка-то и вовсе не пашет(((
1С падает с SQL State HY000

установка таймаута тоже не помогает

вообще ничего не понятно
1с все равно откуда выполнять запрос. Может только если шлешь
очень много запросов (из формы списка ) и некоректно их обрабатываешь.
  
Наверх
 
IP записан
 
TroYur
Junior Member
**
Отсутствует



Сообщений: 24
Зарегистрирован: 17. Октября 2006
Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #24 - 16. Ноября 2010 :: 09:30
Печать  
Цитата:
вообще ничего не понятно
1с все равно откуда выполнять запрос. Может только если шлешь
очень много запросов (из формы списка ) и некоректно их обрабатываешь.


Сори, не было времени заглянуть сюда(
А что непонятно? В форме списка колонка из которой вызывается функция подсчета остатков... Много запросов? может у меня монитор слишком большой? )))
Сам запрос - как описан выше, ничего не добавлено, не изменено (хотя вру, пробовал еще и цены добавить, потом отключил - не помогло).

Z1 писал(а) 09. Ноября 2010 :: 09:40:
у меня работает. была здесь ветка по сводному остатку. там точно есть работающий пример с использованием ПостроитьПараметры.


а версия 1С++ какая?
  
Наверх
IP записан
 
U_zer
Экс-Участник


Re: Ошибка Invalid Descriptor Index в параметризированном запросе
Ответ #25 - 16. Ноября 2010 :: 09:57
Печать  
TroYur писал(а) 16. Ноября 2010 :: 09:30:
Цитата:
вообще ничего не понятно
1с все равно откуда выполнять запрос. Может только если шлешь
очень много запросов (из формы списка ) и некоректно их обрабатываешь.


Сори, не было времени заглянуть сюда(
А что непонятно? В форме списка колонка из которой вызывается функция подсчета остатков... Много запросов? может у меня монитор слишком большой? )))
Сам запрос - как описан выше, ничего не добавлено, не изменено (хотя вру, пробовал еще и цены добавить, потом отключил - не помогло).

Z1 писал(а) 09. Ноября 2010 :: 09:40:
у меня работает. была здесь ветка по сводному остатку. там точно есть работающий пример с использованием ПостроитьПараметры.


а версия 1С++ какая?


ПостроитьПараметры - лучше не использовать. Потому что иногда он работает неправильно.
А ошибка у тебя - скорее всего из-за неправильного использования парам. запроса в списке. Но это надо обработку смотреть .... А вообще, попробуй тупо top 1 написать, возможно поможет.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать