Помогите с DBgrid

Sotnikovsa
Дата: 03.12.2007 14:15:23
Здравствуйте, подскажите пожалуйста, по DBGrid.
Проблема следующая, грид заполняется по результатам запроса, запрос типа


select a.pole1, a.pole2
case 
when isnull(a.pole3,0)<>0 then b.pole10 + '№' +  convert(varchar(2),a.pole3)
else b.pole10
end as pole10
from tableA a left  join TableB  on  a.id=b.id 
where /*условие по таблице B*/  

Через iSQL запрос работает как надо, все хорошо, по его результатам также заполняется Grid, все без ошибок, за исключением одной детали! В grid поле pole10 не показывает результаты Case, а показывает только данные из таблицы B, которые соответствуют условию запроса .
Т.е. если я по результату в iSQl получаю Ступень №1 то в гриде вижу просто Ступень, хотя точно знаю что должен увидеть также №1. Понимаю что возможно просто надо поставить галку где-нибудь, попробовал уже много что, но поле продолжает ссылаться на таблицу. И при любом раскладе, на Case не реагирует.

Работаю в Delphi 7, база MS SQL2000, с БД работаю через ADOConnection и ADOQuery.

За ранее благодарен за любую помощь.
Anatoly Podgoretsky
Дата: 03.12.2007 14:28:56
Это к Дельфи не имеет отношения, но попробуй изменить на
when is null a.pole3 then b.pole10 else b.pole10 + '№' +  convert(varchar(2),a.pole3)
Angellore
Дата: 03.12.2007 14:34:24
Мне кажется, что это глюк АДО.
В этой компоненте есть такие приколы, например, при работе с ДЛЛ у меня АДО - ные компоненты мешали ее работе.
Sotnikovsa
Дата: 03.12.2007 14:43:35
Попробовал, правда что это меняет? Я думаю дело все таки в Делфи, потому как, если выполняю запрос в iSQL то получаю нужный мне результат, при выполнении этого же запроса с такими же параметрами для грида, в поле, где я должен получить результат Case, я получаю ссылку на поле в таблице B, причем при двойном клике на поле, я получаю выпадающий список всех значений поля POLE10 из таблицы B, какие там только есть.

С Ado работаю из dll !

Спасибо за ответы.
Sotnikovsa
Дата: 03.12.2007 16:43:39
Может еще кто сталкивался с подобной проблемой???
Sotnikovsa
Дата: 03.12.2007 17:21:47
Вопрос закрыт, решение проблемы было в том, чтобы в свойстве FieldKind AdoQuery поставить значение fkData, стояло fkLookUp!!! Спасибо!!!