Database abstraction layer lazarus / 16-Databases ---------------------------------------------------------------------- Leledumbo · 2009-12-30 03:40 Is there any package offering such functionality? I mean, instead of calling: Code: [Select]"SELECT * FROM a_table"the package might provide a class such that have methods to be called like: Code: [Select]var    Result: DBResult; ... Result:=DBQuery.Select('*').From('a_table').Execute; ... I miss this functionality because sometimes I don't know what database engine the client will use. Some PHP frameworks offer this, and I think Lazarus / FPC should offer it, too. ---------------------------------------------------------------------- Zaher · 2009-12-30 12:41 That funny structure , and i prefer to be Result:=DBQuery.Select([]).From('a_table').Execute; Result:=DBQuery.Select(['f1', 'f2']).From('a_table').Execute; but i still like to write sql statements directly. ---------------------------------------------------------------------- marcov · 2009-12-30 14:13 I don't see the connection with database abstraction? The current sqldb dataset based system already abstracts this? Sure, the syntax superficially looks the same, but I don't really like it. When more stuff is added (where, collation etc) it gets more complicated than the current situation very fast.