What Is a Good Oo C++ Wrapper for SQLite

Best Cocoa/Objective-C Wrapper Library for SQLite on iPhone

I personally use FMDB, and the last update to it was yesterday.

C++ wrapper for SQLite3 API - alternatives for sqlite3pp

I don't know why I can't find the Wiki linked from the SQLite homepage anymore. But it lists lots of C++ wrappers: http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers

C++/sqlite wrapper for dead-easy class serialization?

There's no easy C++ ORM (Object Relational Mapping) tools. The two libraries I know of that ease the process are :

  • SOCI
  • Debea (EDIT: obsolete)

SOCI is simpler and is boost-like in philosophy, while debea is more ORM oriented.

By the way, if SQLite / SQL / requests are not mandatory, you can use Boost serialization framework.

Just my two cents

EDIT:

Well, given C++ reflection possibilities, my humble opinion is that the only way to do what you want to do is to use a code generator. Given that there was no decent, easy to use C++ parser/lexer/..., I know of none widespread tool doing that.

Someone I know had the same problem for some years. He has finally found a solution : He tells me that clang is now usable (it compiles boost), and that he uses it to generate serialization code based upon markers in the code (he tells me that there is support for marker in TR1, but I'm no expert). That is valuable feedback, and my own tries in this field make me agree about the solution.

Does SQLite have a C++ object-oriented interface?

Searching for "SQLite RAII" on your search engine of choice finds this library.

Is there a .NET/C# wrapper for SQLite?

From https://system.data.sqlite.org:

System.Data.SQLite is an ADO.NET adapter for SQLite.

System.Data.SQLite was started by Robert Simpson. Robert still has commit privileges on this repository but is no longer an active contributor. Development and maintenance work is now mostly performed by the SQLite Development Team. The SQLite team is committed to supporting System.Data.SQLite long-term.

"System.Data.SQLite is the original SQLite database engine and a complete ADO.NET 2.0 provider all rolled into a single mixed mode assembly. It is a complete drop-in replacement for the original sqlite3.dll (you can even rename it to sqlite3.dll). Unlike normal mixed assemblies, it has no linker dependency on the .NET runtime so it can be distributed independently of .NET."

It even supports Mono.

SQLite Alternatives for C++

Stay with SQLite but find a good C++ library for this.

This StackOverflow question should help you ...

Cross-platform Sqlite

Some options for cross-platform .NET/C# development with SQLite are:

SQLitePCL.raw

A Portable Class Library (PCL) for low-level (raw) access to SQLite

SQLitePCL.raw provides a very thin C# wrapper ontop of the SQLite C API. The API exposed by SQLitePCL.raw is hostile from an application developer perspective, but is designed for use as a common portable layer upon which friendlier wrappers can be built.

License: Apache License v2

Source code: https://github.com/ericsink/SQLitePCL.raw

Nuget: https://www.nuget.org/packages/SQLitePCLRaw.core

Platforms: Xamarin.Android, Xamarin.iOS, UWP, Windows Phone 8.1, .NET 4.5, .NET 4.0, .NET 3.5, Linux, MacOS, NetStandard 1.1, Windows Phone 8 (with limitations), Windows Phone 8.1 Silverlight (with limitations)


SQLitePCL.pretty

A pretty face on top of SQLitePCL.raw

This library wraps the C like SQLiteAPI provided by SQLitePCL.raw with a friendly C# object oriented API. SQLitePCL.pretty has extensive unit test coverage and supports many newer features available in more recent SQLite versions.

License: Apache License v2

Source code: https://github.com/bordoley/SQLitePCL.pretty

Nuget: https://www.nuget.org/packages/SQLitePCL.pretty

Platforms: same as SQLitePCL.raw


SQLite-net

Simple, powerful, cross-platform SQLite client and ORM for .NET

SQLite-net was designed as a quick and convenient database layer. Very easy to integrate with existing projects and runs on all the .NET platforms, with very simple methods for executing CRUD operations and queries safely (using parameters) and for retrieving the results of those query in a strongly typed fashion.

License: MIT License

Source code: https://github.com/praeclarum/sqlite-net

Nuget: https://www.nuget.org/packages/sqlite-net-pcl

Platforms: same as SQLitePCL.raw


Microsoft.Data.Sqlite

SQLite implementations of the System.Data.Common interfaces

This project is part of ASP.NET Core and maintained by Microsoft

License: Apache License v2

Source code: https://github.com/aspnet/Microsoft.Data.Sqlite

Nuget: https://www.nuget.org/packages/Microsoft.Data.SQLite

Platforms: .NET Framework, Mono, .NET Core (.NET Native, CoreCLR, Windows Universal), Xamarin (planned)



Related Topics



Leave a reply



Submit