А нельзя ли на странице описания проекта http://shamangrad.net/project.php?act=v ... =FBManager привести чуть более подробное описание, в частности указать ссылку на тему, где обсуждается проект (эту тему или мб здесь на freepascal.ru завести отдельную)
TSQLEngineAbstract
Поля ServerName, Password, UserName применимы не ко всем СУБД, в частности к SQLite. Они применимы для клиент-серверной СУБД, а не для встравиваемой. Про FireBird я почти ничего не знаю, но и там вроде её можно использовать как встаиваемую, MySQL можно использовать как встраиваемую... Я, возможно, сделал бы одно свойство ConnectionArgs[const arg: string]: string; и завел бы константы (чтобы уменьшить риск ошибиться в названии параметра)
DB_HOST = 'ServerName';
DB_USER = 'UserName'
DB_PASSWORD = 'Password';
Engine.ConnectionArgs[DB_HOST] = 'example.com';
Engine.ConnectionArgs['port'] = '1234';
Engine.Open;
В модуле доступа к SQLite
DB_SQLITE_FILENAME = 'FileName';
Enigne.ConnectionArgs[DB_SQLITE_FILENAME] := '/path/to/db';
Engine.Open;
В веб программировании часто используется модуль абстрактного доступа к БД, наш проект PMS/wscore тому не исключение. Предлагаю взглянуть на модуль wscdatabase.php (svn:wscdatabase.php), там кроме стандартных функций, есть и вспомогательные функции (select(), select_one_assoc(), update(), insert(), count_rows()) облегчающие работу с БД. В последней версии появиль методы для построения сложных многотабличных SQL запросов с использованием внешних соединений.
alexs писал(а):которые будут работать через уже необходимый/понравившийся движок с любимым вами SQL
Если бы мои любимые SQL-запросы работали во всех СУБД я был бы счастлив.
Кстати вопрос к знатокам FireBird: поддерживается ли что-то типа LIMIT/OFFSET (выборка части набора данных) в SELECT запросах? если да, то какой синтаксис?