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

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

Фильтрация записей ADOTable [D7, MSSQL]


Страницы:   1 2

Edd ©   (2006-12-16 19:31:00) 

Доброго времени суток!
Мастера, подскажите, ранее писал через ClientDataSet трёхзвенки - фильтрация проходила без вопросов. Сейчас пишу для MS SQL сервера доступ конечно через ADO.
фильтрация для подчиненных таблиц невозможна. возникает ошибка - "...Filter property cannot be used for detail tables..." уже читал по этому поводу какие-то форумы. Но нигде ничего конкретного не сказано как обойти эту проблему.
если надо использовать ADOQuery, то подскажите код вместе с запросом, подробно.
Спасибо!


Edd   (2006-12-16 21:48:00) [21]

а там надо будет обрывать связь или нет?


Anatoly Podgoretsky   (2006-12-16 21:45:00) [22]

> Edd  (16.12.2006 21:43:10)  [10]

TAdoDataset


Edd   (2006-12-16 21:43:00) [23]


> Выбрось ADOTable - использование ни чем не обосновано.

а вместо этого к таблицам чем подключаться и перемещаться по набору? надо чтобы налицо в гридах был фатк связи один ко многим...
какая альтернатива тэйблам?


Anatoly Podgoretsky   (2006-12-16 21:35:00) [24]

> Edd  (16.12.2006 21:31:08)  [8]

Выбрось ADOTable - использование ни чем не обосновано.


Edd   (2006-12-16 21:31:00) [25]

для связи с севрером - ADOConnection

в свойствах у ADOTable детальной таблицы указано:
IndexFiledName
MasterFields
MasterSource
и TableName

изначально в MS SQL сделал связь между главной и детально один ко многим.
а в делфи с помощью вкладки диграммы протянул связь между табличками, и вышеуказанные свойства заполнились автоматически


MsGuns   (2006-12-16 20:51:00) [26]

Какие компоненты используете для извлечения данных с сервера и как установили "связующие" свойства ?


Anatoly Podgoretsky   (2006-12-16 20:45:00) [27]

> Edd  (16.12.2006 20:33:05)  [5]

Убери прямую связь, и делай ее в OnAfterScroll если речь идет о гридах.


Edd   (2006-12-16 20:33:00) [28]


> Побороть проблему можно, избавившись от прямой связки Master-
> Detail, заменив ее "ручным" переоткрытием детального запроса
> при изменении текущей записи в Главной.

вот в том-то и дело, я не в курсе, подскажите пожалуйста как это делается поподробнее?


MsGuns   (2006-12-16 20:26:00) [29]

Дело не в том, что Вы "переехали" с клиентского на адошный компонент, а в том, что, очевидно, пытаетесть применить фильтр к таблице, которая связана как дочерняя с другой отношением Master-Detail .
Побороть проблему можно, избавившись от прямой связки Master-Detail, заменив ее "ручным" переоткрытием детального запроса при изменении текущей записи в Главной.


Anatoly Podgoretsky   (2006-12-16 20:25:00) [30]

> Edd  (16.12.2006 20:12:02)  [2]

> ADOConnection DataSet ADOTable ADOQuery

Два последних зря используешь.


Edd   (2006-12-16 20:12:00) [31]

а я щас не трёхзвенку делаю... Поэтому компоненты юзаю ADOConnection DataSet ADOTable ADOQuery
уже соединение между клиентским приложением и сервером настроил, не хотелось бы компонеты менять..
PS а там таких проблем с фильтром не будет?
там чтоб к к серверу сконнектиться нужно ведь указать в RDSConnection
два свойства serverName и ComputerName?


sniknik   (2006-12-16 19:39:00) [32]

> если надо использовать ADOQuery
использовать надо ADOConnection, ADODataSet и ADOCommand (ну и можно RDSConnection если трехзвенку исключительно на ADO делать), остальное надо выкинуть и забыть как страшный сон, описания в книжках буде встретятся пропускать не читая.

> то подскажите код вместе с запросом, подробно.
подробнее чем в BOL не бывает, а оно у тебя под рукой, раз уж MSSQL стоит.


Страницы:   1 2

Наверх

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