[Interest] How to deal with database specific syntax

alexander golks alex at golks.de
Thu Feb 12 07:26:39 CET 2015


Am Thu, 12 Feb 2015 08:59:18 +0600
schrieb Dmitriy Purgin <dpurgin at gmail.com>:

> Hi,
> 
> Actually I don't think it's a Qt-related question but here's my approach to
> it.
> 
> Since you struggle with both syntaxes, you may want to try and encapsulate
> SQL code to stored procedures on the DB side and by that I mean not only
> simple data retrieval or updating but also the business logic. You are
> still obliged to support both DB backends but at least it will reduce the
> dependencies in your C++ program down to supporting the stored procedure
> call syntax which is pretty simple. Here you may also gain a performance
> boost since the data operations are as close to data as it can be.

ifair, each driver may handle stored procedure calls differently (1).
some need special handling for multiple result sets, others need special handling for in/out values.
so you may still need to handle different "syntax" foreach driver.

[1] http://doc.qt.io/qt-5/sql-driver.html

> 
> Regards
> Dmitriy Purgin
> 
> 2015-02-11 18:54 GMT+06:00 pmqt71 <pmqt71 at gmail.com>:
> 
> > Hi all,
> >
> > in my Qt application I've to duplicate sql instructions for MySql and
> > Postgres due to different sql syntax.
> > Most problems are on date types. For instance, MySql has DATEDIFF,
> > Postgres has EXTRACT, CAST...
> >
> > Without using ORMs, is there a way to manage specific sql syntax?
> >
> >
> > Thanks
> > pm
> >
> >
> > _______________________________________________
> > Interest mailing list
> > Interest at qt-project.org
> > http://lists.qt-project.org/mailman/listinfo/interest
> >
> >


-- 
/*
 *  "There's definitely something wrong here."
 *
 *  Husse Jul 11 2007
 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150212/cfce6b40/attachment.sig>


More information about the Interest mailing list