|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Упрощение взаимодействия с БД
Здравствуйте!
Есть крупный проект с СУБД Firebird. Неудобство в том, что слишком длинный и замороченный путь данных - что замедляет разработку и сильно усложняет поиск ошибок. Схема такая: Firebird БД (data,tables,domains,generators,triggers,procedure s,etc) -> все выборки формируются прямо в СУБД при помощи Procedures -> из Delphi к БД обращение идёт из компоненты FIBPlus TFIBDataSet (InsertSQL,UpdateSQL,etc) -> затем сразу же передают данные в объект TDataSource -> затем в графических элементах форм назначается привязка к объектам TFIBDataSet или как правило TDataSource -> затем к каждой колонке визуальной таблицы нужно привязывать данные из выборки процедуры БД вручную указывая и настраивая каждое значение (DIRECTOR если в БД boolean то в интерфейсе это checkbox, если в БД DATE, то в интерфейсе тоже тип колонки Дата, итд)... ну и к тому же довольно много кода обработок и проверок в программе. 1. Цепочка длинная и много времени уходит между "созданием процедуры выборки в БД" и "привязкой всего в интерфейсе". Можно ли как-то упростить эту жуткую цепочку? 2. Ещё неприятность в том, что всё притормаживает на уже небольших выборках. Например если в БД 1000 записей, нужно отобрать из них 300 - длится это ~3секунды на новейших Core-i5... имхо это уже многовато и дальше будет только тормознее. а) можно ли обойтись без компонент FIBPlus или DataSource? Что КОНКРЕТНО делают эти компоненты? Опишите механизм их работы подробно, пожалуйста. б) бывают ли компоненты графического интерфейса которые самостоятельно напрямую взаимодействуют с СУБД без необходимости в TFIBDataSet или DataSource ? в) или по крайней мере графические компоненты, которые при назначении некой группы данных (процедуры СУБД или TFIBDataSet или DataSource) способны самостоятельно разобрать какие будут данные и оптимизировать под них таблицу сразу назначив все переменные и типы полей? г) один добрый человек с этого форума сделал пример взаимодействия Delphi-Firebird, но опять таки использовал некие нестандартные компоненты IBC, кто сможет сделать небольшой пример САМОГО КОРОТКОГО (простого, удобного) взаимодействия "визуальное редактируемое поле в Delphi <-> процедура в Firebird" с использованием желательно только СТАНДАРТНЫХ компонент Delphi XE. |