Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрос в MSSQL [D6, MSSQL, MySQL]


Страницы:   1 2

DA ©   (2004-08-30 18:09:00) 

Помогите разобраться с запросом

В MySQL выполняется без проблем

SELECT     DS.DOCTYPE, DS.ORG, DS.KIND, DS.REGION, DS.DOCDATE, DS.PASSNUM, DS.NAME, DD.DOCDATE AS DestDate, DD.PASSNUM AS DestNum
FROM         ltb_loaddocs DS CROSS JOIN
                     ltb_loaddocs DD
WHERE     (DS.DOCID = 147401) AND (DD.DOCID = 147402)


Из MSSQL тоже, в DELFI на Open тоже не валится, а когда использую
результат, хотя бы элементарное Query.FieldByName('Name').AsString, то три поля : NAME, DestDate, DestNum Field '...' not found

Не понимаю совершенно, объясните кто может.


RayRom   (2004-09-03 19:25:00) [1]

Нет все не так после AS название поля надо в кавычки или апострофы брать, это коретное именование в МуСКЛ, сам такое проходил!


DA   (2004-09-02 09:38:00) [2]

=> Ega23 ©   (02.09.04 09:23) [23]

Без Cross Joinизначально и было :), его Analyser MSSQL добавил, реакция та же :).


Ega23   (2004-09-02 09:23:00) [3]

Все-таки попробуй без Cross Join


DA   (2004-09-02 09:05:00) [4]

дело не в скобках, пробовал с самого начала

Выводятся только первые 6 полей из запроса, если NAME, DestDate, DestNumстоят в начале запроса, например

SELECT     DS.NAME, DD.DOCDATE AS DestDate, DD.PASSNUM AS DestNum, DS.DOCTYPE, DS.ORG, DS.KIND, DS.REGION, DS.DOCDATE, DS.PASSNUM ...

то с ними все нормально, но последние 3 поля из select-а все равно 'not Found'


MDFE   (2004-09-01 06:31:00) [5]

Правильней будет так: DS.[NAME]
если не хотим получить:
[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'DS.NAME'


MOA   (2004-08-31 20:30:00) [6]

Вариант: [DS.NAME]


MOA   (2004-08-31 20:29:00) [7]

Попробуйте заключить Name в []? т.е. DS.[NAME]
Удачи!


Ega23   (2004-08-31 19:19:00) [8]

Согласен, ошибочка вышла. Указатель хранится.


KSergey   (2004-08-31 19:02:00) [9]

> Ega23 ©   (31.08.04 17:57) [16]
> А текст, вроде, именно в таблице
> хранится, в отличие от нтекст

Обман.


Ega23   (2004-08-31 17:57:00) [10]

ограничение на размер записи? или кол-во полей?

Именно на размер записи. А текст, вроде, именно в таблице хранится, в отличие от нтекст


KSergey   (2004-08-31 16:17:00) [11]

> [10] DA   (31.08.04 15:45)
> text

Вот это меня настораживает... Не силен, но вроде для доступа к нм надо другие методы использовать... Впрочем, в списке полей-то появиться должно всяко, если есть в выборке...


DA   (2004-08-31 15:58:00) [12]

ограничение на размер записи? или кол-во полей?


DA   (2004-08-31 15:57:00) [13]

до 500 символов, где-то так, но я же пишу, что даже если поля в запросе местами поменять, то видит только первые 6 полей.


Ega23   (2004-08-31 15:57:00) [14]

только по моему типы полей ни при чем

Есть там дурацкое ограничение на одну запись...


Ega23   (2004-08-31 15:50:00) [15]

Text сколько по длинне?


DA   (2004-08-31 15:45:00) [16]

=> Ega23 ©   (31.08.04 15:41) [8]
int, int, int, int, datetime, varchar, text, только по моему типы полей ни при чем


DA   (2004-08-31 15:42:00) [17]

=> sniknik ©   (31.08.04 11:45) [6]
одинаковый результат что на старом Query, что на новом чистом.


Ega23   (2004-08-31 15:41:00) [18]

Типы полей какие?


DA   (2004-08-31 15:31:00) [19]

вообще не бывает конечно, но поменяв допустим в запросе местами
DS.PASSNUMи DS.NAMEполучаю теперь, что Field DS.PASSNUM not found ,
а DS.NAMEвидит, находит и не ругается.

почему только первые 6 полей находит ?


sniknik   (2004-08-31 11:45:00) [20]

а проверь. положи чистый новый Query, датасоурс, грид свяжи, внеси запроси прямо в разработке там active в true поставь.
что есть?

чудес то не бывает. должно быть логическое обьяснение.

и потом CROSS JOIN у тебя бессысленен (смотря что конечно хочеш получить), если есть WHERE он работает как INNER. (если это и надо то не лутше ли явно указать?)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо