| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Мощная библиотека для работы с SQL базами данных |
| Автор: Святогор 24.7.2008, 12:52 | ||||||||
| Коллеги, делфисты! Это не совсем реклама. Просто наша контора уже давно разработала и пользуется очень удобным средством для работы с SQL базами данных. Вот, решили оформить всё это дело(открытый исходный код) и выложить на ваш суд. Итак... Библиотека HitSQL предназначена для "продвинутой" работой с SQL базами данных. Включает в себя все аспекты: от соединения с сервером базы данных, формированием запроса, созданием и контролем транзакций и заканчивая получением данных по результатам запроса.
Подобно технологии ORM (<i>Object Relation Mapping</i>), для работы с HitSQL необходимо описывать метаданные базы данных посредством декларации объектов специального вида, совпадающих по структуре со структурой базы данных и полей таблиц. В качестве компонент для доступа к базам данных, в данный момент библиотека поддерживает следующие возможности: ADO (Microsoft ADO), FIB, ZDO (ZeosLib). Поддерживаемые диалекты: Microsoft SQL Server, Interbase/Firebird, MySQL. Пример получения набора данных:
Пример добавления данных:
Пример модификации данных:
И ещё масса возможностей по работе с базами данных. Версия с открытым кодом библиотеки выпускается под GPL v.3 лицензией. Страничка на sourceforge http://hitsql.wiki.sourceforge.net/rus Добавлено через 1 минуту и 6 секунд Оставляйте отзывы, пожалуйста! |
| Автор: Akella 24.7.2008, 16:47 |
| Я извиняюсь, но я не понял, для чего всё это? Допустим я работаю с БД (Firefird, Fib+), что мне даст эта мощная библиотека? Добавлено через 1 минуту и 40 секунд На сколько я понял, то программист работает с библиотекой, не заботясь о том, какая СУБД и какие компоненты доступа? Или как? |
| Автор: Святогор 25.7.2008, 07:22 | ||
Поддержка FireBird имеется. Что даст? Например такие приемущества:
//На сколько я понял, то программист работает с библиотекой, не заботясь о том, какая СУБД и какие компоненты доступа? Или как? И это тоже. Но не самое важное. Самое важное: отказ от хранимых процедур. Перенос всей бизнес-логики в Делфячный код, его контроль и отладка средствами Делфи. |
| Автор: Akella 25.7.2008, 07:54 |
| ну я пока вижу 1 плюс: это кроссСУБДность Добавлено через 21 секунду а как мне отказаться от всех прелестей FIB+? |
| Автор: Святогор 25.7.2008, 09:36 | ||||||
//Сложные рекурсивные запросы как писать? Пример простого рекурсивного запроса можно? //Скажите плиз как здесь можно использовать параметры??? Какие именно? Такие:
? //Жирный минус!!! В серверных БД ХП огромный плюс, можно например долгий расчет выполнить строго на сервере (они как обычно мощные машины) всего лишь запуском ХП. А вы предлагаете от этого отказаться и делать все на клиенте, обратно к dBase возврат Вы не поняли. Отказ, это значит, что надежнее разрабатывать трёхзвенки, чтобы АппСервер работал на стороне сервера и там была прописана вся бизнес-логика на Вашем языке(в нашем случае на Делфи). Т.е. это просто замена языка ХП на язык Делфи. Можно спокойно отлаживать и контролировать код бизнес-логики в своей любимой среде и на своем любимом языке, а не на внутренних скриптовых языках СУБД. Воть. //а как мне отказаться от всех прелестей FIB+? А какие именно прелести? |
| Автор: pseud 25.7.2008, 09:56 |
| ИМХО - очень хорошая идея. но для начала надо бы изучить код, как все это работает. сам пытался такое дело реализовать. но, видимо, одной головы мало. |
| Автор: Святогор 25.7.2008, 11:04 | ||
Там можно скачать пример. Правда, он работает под MS SQL. |
| Автор: Akella 26.7.2008, 08:04 | ||
ну взять хотябы как минимум - это conditions, построение и управление конструкцией where запроса. у ещё у фибов есть "умный" фильтр макросы ну хватает там вкусностей, не зря же это лучшая библиотека для работы с ibase, fb. |
| Автор: Vas 26.7.2008, 10:59 | ||||
Можно, на ORACLE это выглядит так:
Результат ветвь:
|
| Автор: Kbl4AH 7.8.2008, 10:47 | ||
2Святогор А напиши, пожалуйста, следующий запрос в своем средстве, а то я плохо представляю, как можно обойтись без явного SQL:
|