powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Запрос
11 сообщений из 36, страница 2 из 2
Запрос
    #33623992
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте, например, без ограничений по дате выполнить запрос в Вашей программе.
Созраните в переменную дату или посмотрите на нее в терминале.
Используйте именно этот формат даты.
Или просто в терминал выведите.

Если не поможет, то Вам будет нужно создать проектик с Вашими классами, программой для заполнения тесовых данных и Вашей программой, в которой у Вас есть многострадальный запрос.

В терминале наберите $ZV и определите точную версию Cache'.

Этот проект можно экспортировать и отправить Вашему техническому консультанту в InterSystems и в SQL.RU.

Вадим
...
Рейтинг: 0 / 0
Запрос
    #33624033
-(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-(
Гость
Без даты все отлично работает в программе.
Но мне нужна обязательная выборка по дате.

Версия Каши 5.0.2 Билд 607

На данный момент запрос выглядит так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 n nm, zpr, ztxt, st, dt
 s dt=+..SDate.Date
 s nm=""
 s zpr=##class(%ResultSet).%New("%DynamicQuery.SQL")
 s ztxt="SELECT ds.ID as ID FROM Docs as ds, DocTitles as dt WHERE ds.DateCreate="_dt_" AND ds.DocType=1 AND ds.Destroyed=0 AND ds.Titles=dt.ID AND dt.CodeOfSupplier<>133"
 d zpr.Prepare(ztxt)
 d zpr.Execute()
 f  q:'zpr.Next()  s nm=zpr.Get("ID")  d
 .d MApplication.MessageBox(nm,"BLA")
 d MApplication.MessageBox("END","")

Пробовалась переменная dt в кавычках и без них. Вот так:
SELECT ds.ID as ID FROM Docs as ds, DocTitles as dt WHERE ds.DateCreate='60339' AND ds.DocType=1 AND ds.Destroyed=0 AND ds.Titles=dt.ID AND dt.CodeOfSupplier<>133

Поле DateCreate - типа string.
...
Рейтинг: 0 / 0
Запрос
    #33624081
yvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
yvv
Гость
Здесь
ds.DateCreate="_dt_"
нужно кавычки одиночные добавить.
Вот так:

ds.DateCreate='"_dt_"'
...
Рейтинг: 0 / 0
Запрос
    #33624085
-(устало....
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там же написано.. пробовалось и с кавычками.
...
Рейтинг: 0 / 0
Запрос
    #33624102
yvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
yvv
Гость
ааай ... не заметил что уже пробовались кавычки
...
Рейтинг: 0 / 0
Запрос
    #33624121
yvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
yvv
Гость
Ну тогда остается эксперимент.
Уберите из запроса проверку ds.DateCreate, и выводите пары значений ds.DateCreate и dt на терминал или в файл. Только обрамляйте их какими нибудь символами, что бы пробел увидеть, если будет..
Тогда можно глазами посмотреть равны ли эти значения.. Если равны - ошибается компилятор. Если не равны, нужно понять как их преобразовывать.
...
Рейтинг: 0 / 0
Запрос
    #33624145
yvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
yvv
Гость
И ещё... не знаю есть ли в этом смысл, но...

Я не использую конструкцию типа
s zpr=##class(%ResultSet).%New("%DynamicQuery.SQL")

а пишу просто
s xx=##class(%ResultSet).%New()

тоесть без "%DynamicQuery.SQL"

Есть ли разница - не знаю, но попробуйте, может поможет.
...
Рейтинг: 0 / 0
Запрос
    #33624188
yvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
yvv
Гость
Хе..
а это то что?
s dt=+..SDate.Date
и в то же время
DocTitles as dt

НЕПОРЯДОК, однако
...
Рейтинг: 0 / 0
Запрос
    #33624224
VadimF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему у Вас такая старая версия Cache'.
Советую переходить на Cache' 5.0.21 или 5.1.

Как дата выводится в Терминал или в программу, если её выбрать ?

Вадим
...
Рейтинг: 0 / 0
Запрос
    #33624284
-(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-(
Гость
VadimFПочему у Вас такая старая версия Cache'.
Советую переходить на Cache' 5.0.21 или 5.1.

Как дата выводится в Терминал или в программу, если её выбрать ?

Вадим

По поводу новой версии Каши ничего сказать не могу. Работаем с тем, что есть. К тому же вопрос по поводу перехода на новую версию щас не стоит, и заканчивать вот эту программку нужно на той версии, что доступна в данный момент.

---
Дата из базы выводится *60124* и в переменной с которой мы ее сравниваем тоже *60124*
Символы специальные, чтоб заметить пробел если че.
...
Рейтинг: 0 / 0
Запрос
    #33624355
-ыы-((((
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УБЕЙТЕ... УБЕЙТЕ МЕНЯ!!!!.... ЙАДУ....
SQL Manager выполнялся в другой области..............
А программа писалась в старой копии базы.........................................
три дня убилось.....

----
спасибо за ваше терпение....
но по крайней мере что то новое подчерпнулось из нашей беседы.....
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]