Главная страница
    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.04 c
14-1094898124
Delpher
2004-09-11 14:22
2004.10.03
Изучение Delphi


3-1094112903
dumitru
2004-09-02 12:15
2004.10.03
bde -> ado


3-1094197200
Bless
2004-09-03 11:40
2004.10.03
fast_forward vc forward_only


1-1095747881
drew
2004-09-21 10:24
2004.10.03
VB макрос...может кто поможет в листе Excel надо сравнить ячейки


14-1095385238
Думкин
2004-09-17 05:40
2004.10.03
С днем рождения! 17 сентября





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский