![]() |
Модераторы: Akella |
![]() ![]() ![]() |
|
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Здравствуйте.
Имею ряд вопросов на тему "как правильно" работать с данной БД из делфи, и хочу поинтересоваться у специалистов насчет предпринимаемых шагов в правильную сторону. В правильных командах ещё не работал, опытности нет. Итак, имеем установленные: Delphi 7, IBExpert, FireBird 2.1 Первое что хотел бы узнать: какие из компонент использовать, и на какие не смотреть (ADO, dbExpress, Interbase,...) Задача на данном шаге: смотреть и редактировать таблички БД. В книжках сами знаете, по главам "работа с БД", обычно ограничиваются чисто обзором и накидыванием на форму с просмотром одной таблицы. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
Можно установить ODBC драйвер для firebird и использовать ADO - криво и медленно.
Можно использовать компоненты interbase. Вполне можно работать, но я не уверен, что компоненты в Delphi 7 будут нормально поддерживать FB 2.1. Но лучше всего использовать компоненты прямого доступа, например, платные: Fibplus, AnyDAC, или бесплатные: FreeDAC, ZeosDBO Я бы порекомендовал FibPlus. Я, можно сказать, не использовал остальные, но фибы - это ВЕСЧЬ!! Русскоязычная поддержка, форум, справка на русском, многочисленные примеры. Поддержка всех версий дельфи. Цена не очень высокая, вполне приемлемая. Все просто и производительность на высоком уровне, как приложения, так и самого разработчика. Вот ещё информация. |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
а почему бы не взять современную версию, а то переход с семерки на более новые версии будет болезненным... Добавлено через 2 минуты и 19 секунд ИМХО : и FIB Plius это без вариантов... аналоги можно не рассматривать... -------------------- Кольцов Виктор Владимирович |
|||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Я уж пошерстил по интернетам и конечно видел ваши отзывы о FibPlus
![]() Открыто несколько окон по 30+ вкладок "по теме" на каждое, а дельных мыслей как подступиться нет. Ведь если даже и работает, то это не значит, что сделано правильно/рационально и т.п. Вот в этом проблема :( Сейчас ведь уже не эпоха наколенных поделок...
По заданию так. Оценивать будут видимо специалисты. А я так, самоучка. former Спасибо. Книги уже смотрю, а вот фиб - не положено, к сожалению, наверное. Это сообщение отредактировал(а) azcrc - 17.5.2010, 21:29 |
|||
|
||||
former |
|
||||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 1 Всего: 17 |
Может лицензией человек ограничен. Рекомендую помимо документации Firebird почитать книги: 1. Хелен Борри - Firebird: руководство разработчика баз данных 2. Александр Бондарь - InterBase и Firebird. Практическое руководство для умных пользователей и начинающих разработчиков Что касается компонентов, конечно FIBPlus. Кстати, кроме официальной документации к компонентам во втором издании есть примеры работы и с IBX, и FIBPlus. Добавлено через 1 минуту и 50 секунд
На сайте разработчика множество примеров и документация на русском. -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
||||
|
|||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
||||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
ну так я и спрашиваю
![]() |
|||
|
||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 1 Всего: 17 |
Тогда IBX или ZEOS (или сторонние компоненты нельзя?). Ссылки Akella привел. -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
Почему именно фибы нельзя?
|
|||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Использую то, что вкладка "InterBase" пошлет.
Насчет сторонних компонент не уточнял, полагаю, не желательно, т.к. дано по заданию: Д7, огнептиц, и ИБЭксперт. гзв. фибы - платные, их, думаю, особенно нельзя. В контрольных по математикам нельзя ж маткад с собой притаскивать на ноутбуке. Так же наверное и с работой. Скажут что не компилится и пошлют нах без разборов :( Это сообщение отредактировал(а) azcrc - 17.5.2010, 23:18 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Извиняюсь, упустил слово "дефолтных" компонент. Виноват.
А в каком случае нужен драйвер и что он собой являет? Для варианта встроенного огнептица в интернетах советуют поставить IBProvider. Не разберу, надо мне это или нет, и в каких случаях. Это сообщение отредактировал(а) azcrc - 17.5.2010, 23:42 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Базу сделал, написав скрипт в IBExpert. Кликами создавать не решился
![]() Тригеры и генераторы, конечно, не удобно, для автоинкремента :( Теперь осталось научиться рулить базой из делфи. Цепляюсь IBDatabase1 так: localhost:C:\FireDB\<моя_база> Где-то вроде видел, что можно не указывать путь к базе. Или это только в случае настройки алиаса? Интересуюсь с целью тащить попроще на другой комп, где тоже огнептиц в поставке сцперсервер. Это сообщение отредактировал(а) azcrc - 18.5.2010, 16:25 |
|||
|
||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 1 Всего: 17 |
Все просто. Альяс целесообразно использовать, когда доступ к БД осуществляется по сети, что бы не указывать полный путь к базе. В папке Firebid-да находится файл aliases.conf в котором хранятся альясы. В нем же находится закомментированный пример. В Хелен Борри в одной из первых глав достаточно подробно расписана работа с альясами. Поэтому рекомендую начать читать книги. -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
в папке firebird/aliases.conf прописываешь алиасы для этого сервера. алиа заменяет только файл базы и путь до него, сервер всеравно нужно указывать и лучше не localhost а имя компа весь сакраментальный смысл сервера в том что сервер 1 а клиентов много, зачем вместе с клиентом на другой комп переносить сервер? может тебе firebird embedded подойдет? -------------------- Кольцов Виктор Владимирович |
|||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Извиняюсь, снова не то сказал.
Тащить прогу надо в контору, у которой огнептиц со своими настройками. Ещё мне туда тащить sql скрипт, в котором CREATE DATABASE ':C:\FireDB\baza_tratata' и т.д. И тащить свою прогу, в которой в компоненте прописан тот же путь до базы, что в скрипте. К embedded присматриваюсь, думаю там несколько хуже чем просто DLL файлы в папку накидать. А его ещё надо задружить с компонентами вкладки Interbase. Пока не решаюсь, есть другие задачи... |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
может проще не скрипт создания базы таскать а файл базы рядом с ехе таскать и путь в динамике прописывать -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
ничего сложного Добавлено через 7 минут и 13 секунд Принцип такой же, как и с обычным сервером. В том-то и прелесть ![]() |
|||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Прогу я пишу на вирт.машине, где есть делфи и огнептиц.
Для теста перенес прогу на свой комп, где нет делфи и огнептица. Заваливается в недопустимую операцию ещё до открытия соединения c БД [.Open] Соотв., где и что - посмотреть не могу. Так и должно быть? Как же тогда клиенты работают, если огнептиц, скажем, на другой машие? upd: Еmbedded - это действительно просто. Вопрос про заваливание приложения был из любопытства. По теме разобрался, благодарю за участие ![]() Это сообщение отредактировал(а) azcrc - 21.5.2010, 12:57 |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
Почему тогда вопрос здесь задаёшь? т.е. ты считаешь, что когда программа выдаёт ошибки, то это нормально?
Слишком обширная тема для ответа. Ответ такой: смотря как подключаешься, смотря какой метод. Но, в основном все подключаются через клиентскую библиотеку доступа: gds32.dll, fbclient.dll, fbembedd.dll Добавлено через 42 секунды Ответ простой. Ошибка в 17ой строке. Добавлено через 1 минуту и 28 секунд а, и вот ещё ![]() http://forum.vingrad.ru/topic-48020/125.html |
|||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Ну мне показалось странным, что достаточно кинуть на пустую форму какой-нибудь один компонент интербазы (даже без всяких подключений), и прога сразу начнет выполнять недопустимую операцию в непонятном месте на чистом компе.
В импорте бинарника вроде нет никаких особых библиотек. Да и просто странно. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Вот. Тупо форма с одним компонентом.
На чистом компе выполняет недопустимую операцию (что для делфи не характерно, т.к. ошибки в дельфовых прогах, типа access violation обычно не делают крах приложения). Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
|||
|
||||
azcrc |
|
||||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
А вы не знаете, это баг огнептица? Случай такой:
и
вставляет NULL, а не то, что указано в default. А если задать поле default 0 not null, то вставить null естественно нельзя. Тогда смысл default, если он не работает? |
||||
|
|||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
смысл в том что default берется только в том случае если поле не указано в insert -------------------- Кольцов Виктор Владимирович |
|||
|
||||
azcrc |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 25.3.2010 Репутация: нет Всего: 1 |
Как это?
Не уловил что-то... |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
Это же элементарно, Ватсон
![]() Добавлено через 1 минуту и 3 секунды У тебя есть таблица из трёх полей, но в INSERT ты указываешь только ДВА. А третье сервер сам заполнит значением по-умолчанию. |
|||
|
||||
olek68 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.8.2010 Репутация: нет Всего: нет |
Привет всем!
IBExpert позволяет делать автоинкрементные поля без особых усилий. Да и инфы на эту тему достаточно. А вот не пойму как сделать несколько уникальных полей по типу как в Paradox. Понятно, что первичный ключ делает данные поля уникальными, ну а если я хочу чтобы данные первого поля + данные второго не повторялись. Надеюсь, я понятно изъясняюсь,… ![]() |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
сделай уникальный индекс по 2 полям
-------------------- Кольцов Виктор Владимирович |
|||
|
||||
olek68 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.8.2010 Репутация: нет Всего: нет |
А разве функция индекса не ускорять сортировку поля. Однако не вижу связи с уникальностью полей.… Объясните подробнее…
|
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
не только...еще как минимум ускорение поиска... и обеспечение уникальности - это уже скорее побочный эффект индекса -------------------- Кольцов Виктор Владимирович |
|||
|
||||
olek68 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.8.2010 Репутация: нет Всего: нет |
В книге Фаронова «Delphi-7 Программирование баз данных” прочёл интересную фразу:
«В реальной работе иногда возникает необходимость вставить в ту или иную таблицу БД сразу множества записей. В этом случае можно временно отключить индекс…». Не представляю как одним «INSERT INTO…» можно вставить несколько записей! О чём говорил автор? Добавлено через 5 минут и 11 секунд Может он говорит о одной транзакции? В которой целая туча INSERT? |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Именно так.
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
спорный момент, включив индекс обратно будет выполнятся переиндексация таблицы - это может занять больше времени чем было сэкономлено отключение индекса. Это сообщение отредактировал(а) Frees - 17.8.2010, 17:11 -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
отнюдь, отключение индекса действительно дает выигрыш по времени, но только при больших объемах (10К не в счет).
olek68, есть подводные камни при временном отключении индекса, если индекс уникален или это внешний ключ. В целом не рекомендую пользоваться данной возможностью. Если в приложении нужно вставить/удалить большой объем данных за короткое время, нужно пересмотреть логику приложения, возможно что-то не так. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
суммарное время , включая переиндексацию после включения индекса может быть больше!! или я ошибаюсь? например ситуация когда в таблицу с 10 млн записей добавляем 10 тыс записей? -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Frees, обо всем по порядку:
1. Про удаление большого кол-ва записей из большой таблицы вот статья 2. Про добавление, правда статья сильно старая и немного о другом, но в конце есть вывод: "Наличие индексов замедляет скорость вставки данных. Более оптимальным по времени может оказаться деактивация индексов, вставка данных, и активация индексов - в сумме эти операции могут занять меньшее время, чем вставка данных с активными индексами." Оригинал Если есть другие мнения и источники, прошу предоставить "тынц" -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
тынц нету, то что я писал выше это всеголишь ИМХО -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Frees, да я без наездов
![]() -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
olek68 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.8.2010 Репутация: нет Всего: нет |
Привет знатокам.
Подскажите, пожалуйста, что входит в комплект «минимальной клиентской установки» firebird? И возможно ли обойтись без установки клиентской firebird? Достаточно ли подбросить в каталог с клиентской программой библиотеки fbclient.dll и gds32.dll . Если нет, то, что еще нужно для нормальной работы клиента? (В своей программе я использую стандартные компоненты вкладки «InterBase» Delphi.) Это сообщение отредактировал(а) olek68 - 22.8.2010, 16:42 |
|||
|
||||
Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
fbclient.dll + msvcp71.dll (или msvcr71.dll, точно не помню) Добавлено через 1 минуту и 29 секунд
По идее да, достаточно. fbclient.dll можно переименовать в gds32.dll, т.к. в твоём случае нет возможности указать путь и имя библиотеки доступа. |
||||
|
|||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
olek68, не совсем понятно, что имеется ввиду под
Далее по правилам форума: во-первых, новая тема = новый топик Во-вторых, учимся пользоваться поиском Вот достаточно полный ответ и след за ним -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
olek68 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.8.2010 Репутация: нет Всего: нет |
Большое спасибо, за помощь! Каждый рас, когда обращаюсь на сайт за подсказкой к
специалистам всегда получаю нужную информацию. С firebird работаю недавно и по привычке все запросы к базе формирую с клиентского приложения. Но думаю, может часть объемных запросов выложить в базе в «селективных процедурах», ну чтобы снизить нагрузку на сеть. Может, подскажете насколько необходимо перевести все обращения к базе во внутренние процедуры? Или в этом нет необходимости. Может кто-то даст возможность взглянуть на правильно организованную базу. Не знаю насколько Employee.fdb можно брать за образец. Это сообщение отредактировал(а) olek68 - 26.8.2010, 19:57 |
|||
|
||||
Deniz |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Обычно на процедуры переходят, когда нужно реализовать бизнес логику на сервере или что-то еще, например полное логирование действий, в том числе select.
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
||||
|
|||||
olek68 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 16.8.2010 Репутация: нет Всего: нет |
Спасибо, значит я на правильном пути
![]() |
|||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
использование сохраненок позволяет отделить логику клиентской части от структуры данных, если меняется структура, нужно переделать только сохраненку, и не трогать клиентское приложение.
можно использовать не созраненку а VIEW - полезная вещь в БОЛЬШИХ БД -------------------- Кольцов Виктор Владимирович |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
не всегда, чаще бывает так, что если меняется структура, о меняется и то, что должен видеть, редактировать пользователь, а значит менять приходится и базу и само приложение :( |
|||
|
||||
TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
Прочитал данный топик полностью, вы практически все расхваливаете FIBPlus (который умеет работать только с IB/FB), а я пользуюсь компонетами доступа UNIDAC (IB/FB, mySQL, MS SQL, Oracle) - и работать с ним намного проще чем FIBPlus - так в чем по вашему FIBPlus такой замечательный? (я Fib пользовался..не понравилось)
-------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
TaNK, а новый топик создать?
весьма субъективная оценка. Разложи по пунктам что конкретно в FIBPlus не понравилось и как это реализовано в UNIDAC. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
TaNK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
Deniz - я просто хотел дополнить оинформацию..
как вставляеются данные с помощью FIBPlus
как этоже смое происходит в UNIDAC
dataset как таковой не нужен, его роль выполняет Query, FIBQuery не умеет выполнять роль датасета для работы с FIBPlus нужно 1 - FIBDataBase 2- FIBDataSet 3 - Transaction 4 - ограниченность (IB/FB) для работы UNIDAC 1 - TUniConnection 2 - TQuery 3 - TUniProvider (IB/FB , MS SQL, MySQL, Oracle, DB2, Access, Postgre, SQLite) -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
||||
|
|||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 1 Всего: 54 |
а что будет если в EName->Text написать текст ' ' ' ? Добавлено через 4 минуты и 21 секунду считаю это плюсом UNIDAC может поймать сообщение от firebird ( POST_EVENT)? Это сообщение отредактировал(а) Frees - 24.12.2010, 13:55 -------------------- Кольцов Виктор Владимирович |
|||
|
||||
TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
UNIDAC это universal а есть еще
ODAC - for Oracle ну и так далее ,TАlerter присутсвует, ноловит или нет не знаю...и я как бы не навязываю что это лучше другого, просто как мало кто пользуетя unidac вот и написал чтобы знали. -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
TaNK, FIBPlus разрабатывался под конкретную СУБД и использует все ее возможности.
В UNIDAC ты пишешь insert into ... постоянно в коде? ![]() в данном случае мы обсуждаем не FB/IB а компоненты доступа. этим постом ты меня (может кого еще) надолго отпугнул от использования компонент UNIDAC. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
![]() Добавлено через 1 минуту и 9 секунд ещё проще: pFibDataBASE1.Execute('Insert into ...') Добавлено через 2 минуты и 3 секунды это не значит, что пользовался правильно ![]() |
|||
|
||||
TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
Deniz - транзакции присутсвууют
Akella - "это не значит, что пользовался правильно " - Это субъективно -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
-------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
так что же ты не включил его в свой список
PS: предлагаю закрыть эту тему, мы все же в разделе FireBird, InterBase, и создать новую в Delphi: Базы данных и репортинг по компонентам UNIDAC. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Interbase" | |
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |