Qu'est ce qu'un bon OO wrapper C++ pour sqlite
Je voudrais trouver un bon orientée objet C++ (par opposition à C) de l'enveloppe pour sqlite. Que font les gens de recommander? Si vous avez plusieurs suggestions, merci de les mettre dans distinct, des réponses à des fins de vote. Veuillez également indiquer si vous avez une quelconque expérience de l'emballage, vous suggérez et comment vous l'avez trouvé à utiliser.
- Aussi l'extraction de la liste: sqlite.org/cvstrac/wiki?p=SqliteWrappers
Vous devez vous connecter pour publier un commentaire.
C'est vraiment accueillante bas-voix, mais voilà...
J'utilise sqlite directement à partir de C++, et ne vois pas de valeur ajoutée en C++ de la couche d'abstraction. C'est très bon (et efficace), comme l'.
Une autre bonne wraper pour les bases de données en C++ est SOCI. Ce n'est pas très OO, mais la plus Moderne du C++.
Il prend en charge Oracle, PostgreSQL et MySQL. Un SQLite backend est dans le CVS.
J'ai lu ce post et essayé quelques-uns des bibliothèques mentionnées dans les réponses ,
Mais aucun d'eux n'était assez facile pour moi ( je suis un paresseux programmeur ! ).
J'ai donc écrit mon propre wrapper : sqlite moderne rpc
Amusez-vous !
Voici un qui n'a pas été mis à jour en temps, mais compile et fonctionne sur Mac OS GCC 4.3. Il est également publié sous la Licence MIT, de sorte que vous pouvez l'utiliser dans un projet commercial, pas de problèmes. http://code.google.com/p/sqlite3pp/
L'utilisation est boost-identifiés et très propre:
Voir: http://code.google.com/p/sqlite3pp/wiki/UsagePage
L'utilisation de Qt - il a une grande liaison pour SQLite qui s'inscrit bien dans sa conception globale
Je n'ai pas heureux avec ce que j'ai pu trouver. Maintenant, vous pouvez écrire:
La table de la méthode est tout ce que vous devez écrire aussi longtemps que vous vous en tenez à la sqlite3 types de données. Comme tout est un modèle pas beaucoup de la couche d'abstraction de code reste de l'après-O. les jointures Naturelles nécessitent un résultat classe similaire à la classe Personne. La mise en œuvre est d'une seule tête avec moins de 500 lignes. Licence LGPL. Source
Je n'étais pas heureux avec n'importe quelle j'ai pu trouver, donc j'ai écrit mon propre: sqlite3cc.
Voici un exemple de code:
http://www.codeproject.com/KB/database/CppSQLite.aspx est tout simplement fantastique, il est très facile de port, je l'ai eu à travailler sur bcb5 (omg) en une demi-heure ou ainsi. Il est à peu près aussi mince que vous pouvez obtenir et facile à comprendre. Il y a un bon nombre d'exemples qui couvrent juste au sujet de chaque chose que vous devez savoir. Il utilise des exceptions pour la gestion des erreurs - je l'ai modifié afin de fournir des codes de retour dans une mater de minutes. Seulement la question délicate est de créer votre propre fichier lib aucun n'est fourni.
Ne pouvait pas être beaucoup plus simple que cela.....
Tout le monde ont donné de bons conseils sur ce qu'il faut utiliser: je vais vous dire de quel instrument PAS utilisation.
LiteSQL.
Mon expérience est terrible.
Je suis juste en faisant quelques recherche sur ce orm utiliser, et je suis en essais beaucoup.
Faiblesses:
J'ai utilisé ce un http://www.codeproject.com/KB/database/CppSQLite.aspx mais j'ai déménagé à la C#, donc il peut être plus récente/mieux maintenant
Peut-être vous pouvez prendre un coup d'oeil à
http://pocoproject.org
ou
Platine C++ Cadre
Un autre simple est NLDatabase. Avertissement: je suis l'auteur. Utilisation de base (et pour être honnête, vous n'obtiendrez pas beaucoup plus qu'une "base" à partir de celui-ci) ressemble à ceci:
Et juste pour le fun, ouvrir une base de données, exécutez une requête et récupérer les résultats dans une seule ligne:
J'en ai fait une en raison de la nécessité dans notre société.
https://www.github.com/rubdos/libsqlitepp
C'est du C++11, et de l'en-tête uniquement. Il suffit de mettre la tête dans votre projet, inclure un lien vers le C sqlite bibliothèques.
Exemples doivent être quelque part sur ce repo git trop, assez facile à utiliser.
Oracle/BEC/ODBC Modèle de Bibliothèque
Cette bibliothèque est génial.
http://www.sqlapi.com/
Il existe des versions Windows et Linux de la bibliothèque disponible et j'ai été opérationnel en quelques minutes.
Vous avez porté avec succès pour mingw-3.4.5? Allez-vous partager le portage de la version?
Thx.
http://www.codeproject.com/KB/database/CppSQLite.aspx est tout simplement fantastique, il est très facile de port, je l'ai eu à travailler sur bcb5 (omg) en une demi-heure ou ainsi. Il est à peu près aussi mince que vous pouvez obtenir et facile à comprendre. Il y a un bon nombre d'exemples qui couvrent juste au sujet de chaque chose que vous devez savoir. Il utilise des exceptions pour la gestion des erreurs - je l'ai modifié afin de fournir des codes de retour dans une mater de minutes. Seulement la question délicate est de créer votre propre fichier lib aucun n'est fourni.