![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IBDataSet, IBTable [D7, FireBird 1.5.1]
starling13 © (2004-10-25 12:14:00)Прошу прощения за много глупых вопросов - недавно я на это всё пересел с Access-a.
Из определённых соображений форма, добавляющая, изменяющая и отображающая данные из группы таблиц не имеет связанных с этими таблицами элементов управления, а посылает данные из обычных элементов управления (Post). Если использовать компонент IBTable, применяя при необходимости фильтры, то, как я понимаю, фильтровать будет клиент (а в таблицах будут десятки тысяч записей). Т.е. если применить фильтр, затем IBTable.Filtered := true, затем IBTable.Edit, то клиент сначала закачает всю таблицу.
Если IBDataSet заполнить запросом "SELECT *...", то вроде бы всё красиво, но ведь у него есть свойства InsertSQL, ModifySQL и др.
и, что бы я ни написал между IBDataSet.Insert(Edit) и IBDataset.Post, последней выполнится соответствующая SQL инструкция, а я не могу всё передать через SQL - там поля BLOB, создаются потоки, связанные с ними.
Как правильно работать с таблицами, чтобы получался Dataset, а запросы обрабатывались на сервере?
Заранее спасирбо всем, кто ответит.
Карелин Артем (2004-10-25 12:49:00) [1]Johnmen © (25.10.04 12:47) [4]
Не спорю, но так проще обьяснить на пальцах что и как писать.
Johnmen (2004-10-25 12:47:00) [2]>Карелин Артем © (25.10.04 12:39) [2]
Зачем эта связка ? Достаточно TIBDataSet.
starling13 (2004-10-25 12:42:00) [3]Большое спасибо
Карелин Артем (2004-10-25 12:39:00) [4]1) настраиваешь базу с транзакцией и соединяешься.
2) пишешь запрос в IBQuery и открываешь набор данных.
3) кладешь IBUpdateSQL и в IBQuery свойством UpdateObject указываешь на сам поймешь что.
4) жмешь 2 раза на IBUpdateSQL, указываешь ключевые и неключевые поля мышкой, затем Generate SQL.
Получились параметризированные запросы, которые в sql могут и BLOB передать. Данные в BLOB надо засунуть руками между Edit и Post.
Чтобы запрос проходил на сервере надо ставить where в запрос.
jack128 (2004-10-25 12:33:00) [5]starling13 © (25.10.04 12:14)
а я не могу всё передать через SQL - там поля BLOB, создаются потоки, связанные с ними.
И что дальше?? Блоб поля ничем от любых других полей не отличаются...