Форум: "Базы";
Текущий архив: 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.5 MB
Время: 0.045 c