Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Наличие результата у ВыполнитьСкалярный (число прочтений - 2000 )
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Наличие результата у ВыполнитьСкалярный
26. Января 2007 :: 15:46
Печать  
Цитата:
Если запрос возвращает набор данных, и в наборе данных нет ни одной строки - это не является ошибкой, в этом случае возвращается пустое значение типа, определенного в первой колонке, или объект Структура, заполненный соответствующим образом.

Возможно ли определить, была возвращена строка с пустыми значениями во всех колонках, или в наборе данных не было ни одной строки?

Метод СтрокОбработанно() в обоих случаях возвращает 0.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Наличие результата у ВыполнитьСкалярный
Ответ #1 - 29. Января 2007 :: 03:52
Печать  
мне кажется, если запрос типа Top 1, то можно добавить поле-флаг:
Код
Выбрать все
SELECT TOP 1
Поле1, Поле2, 1 AS Флаг
... 


а если тут что-то агрегируется, то такая проверка, мне кажется, и не нужна
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Наличие результата у ВыполнитьСкалярный
Ответ #2 - 29. Января 2007 :: 04:48
Печать  
Если запрос совсем ничего не возвращает (т.е. ни одной строки), то ВыполнитьСкалярный() возвращает значение типа "Неопределенный".  Проверено опытным путём  Улыбка
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Наличие результата у ВыполнитьСкалярный
Ответ #3 - 29. Января 2007 :: 11:25
Печать  
DrACe писал(а) 29. Января 2007 :: 03:52:
мне кажется, если запрос типа Top 1, то можно добавить поле-флаг:
Код
Выбрать все
SELECT TOP 1
Поле1, Поле2, 1 AS Флаг
... 


а если тут что-то агрегируется, то такая проверка, мне кажется, и не нужна

Вызывается системная расширенная процедура. Чем её во что ни будь заворачивать, дешевле использовать ВыполнитьИнструкцию и проверять количество строк в таблице значений. Что я сейчас и делаю.

ADirks писал(а) 29. Января 2007 :: 04:48:
Если запрос совсем ничего не возвращает (т.е. ни одной строки), то ВыполнитьСкалярный() возвращает значение типа "Неопределенный".  Проверено опытным путём  Улыбка

Запрос возвращает не совсем ничего, а набор данных без строк. Результат соответствует документации - структура. Проверено на версии 1.8.1.6.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать