Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

Запрос в MSSQL   Найти похожие ветки 

 
DA   (2004-08-30 18:09) [0]

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

В 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

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


 
Алхимик ©   (2004-08-31 00:15) [1]

Попробуй в Query создать поля-объёкты и посмотреть как они будут названы.
Смущает меня имя поля : "NAME"


 
KSergey ©   (2004-08-31 07:10) [2]

А в Query точно никакие объекты-поля на этапе разработки не созданы?


 
DA   (2004-08-31 10:33) [3]

посмотрел через FieldList после Open есть только первые 6 полей DOCTYPE, ORG, KIND, REGION, DOCDATE, PASSNUM

а куда остальные деваются?


 
sniknik ©   (2004-08-31 11:09) [4]

> а куда остальные деваются?
порутчик молчааать!!!!! %о)

А в Query точно никакие объекты-поля на этапе разработки не созданы?


 
DA   (2004-08-31 11:22) [5]

точно, ничего


 
sniknik ©   (2004-08-31 11:45) [6]

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

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

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


 
DA   (2004-08-31 15:31) [7]

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

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


 
Ega23 ©   (2004-08-31 15:41) [8]

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


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

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


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

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


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

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


 
Ega23 ©   (2004-08-31 15:57) [12]

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

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


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

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


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

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


 
KSergey ©   (2004-08-31 16:17) [15]

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

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


 
Ega23 ©   (2004-08-31 17:57) [16]

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

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


 
KSergey ©   (2004-08-31 19:02) [17]

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

Обман.


 
Ega23 ©   (2004-08-31 19:19) [18]

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


 
MOA ©   (2004-08-31 20:29) [19]

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


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

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


 
MDFE ©   (2004-09-01 06:31) [21]

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


 
DA   (2004-09-02 09:05) [22]

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

Выводятся только первые 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"


 
Ega23 ©   (2004-09-02 09:23) [23]

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


 
DA   (2004-09-02 09:38) [24]

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

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


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

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



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.035 c
1-1095327018
webpauk
2004-09-16 13:30
2004.10.03
Создание события


14-1094826117
Ренат
2004-09-10 18:21
2004.10.03
Вот сайтик по Дельфи


1-1095234490
X-Disa
2004-09-15 11:48
2004.10.03
Сохранение компонента


14-1095181371
ДухКороляАртура
2004-09-14 21:02
2004.10.03
Замена BDE


1-1095675594
bobr12
2004-09-20 14:19
2004.10.03
Создание шаблонов форм





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский