diff --git a/README.txt b/README.txt index b758ab9..9ee0a66 100644 --- a/README.txt +++ b/README.txt @@ -1,17 +1,82 @@ -SQLiteC++ is a smart and simple C++ SQLite3 wrapper, easy to use and efficient. - -It is designed with the Resource Acquisition Is Initialization (RAII) idom -(see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization). -Thus Each SQLiteC++ object must be constructed with a valid SQLite database connexion. - -For other simple C++ SQLite wrappers look also at: -- sqdbcpp also using RAII (http://code.google.com/p/sqdbcpp/) -- CppSQLite (http://www.codeproject.com/Articles/6343/CppSQLite-C-Wrapper-for-SQLite - or fork at https://github.com/NeoSmart/CppSQLite) -- sqlite3pp (http://code.google.com/p/sqlite3pp/) -- SQLite++ (http://sqlitepp.berlios.de/) +SQLiteC++ +--------- Copyright (c) 2012 Sebastien Rombauts (sebastien dot rombauts at gmail dot com) Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt -or copy at http://opensource.org/licenses/MIT) +or copy at [http://opensource.org/licenses/MIT]) + + +SQLiteC++ is a smart and simple C++ SQLite3 wrapper, easy to use and efficient. + +It is designed with the Resource Acquisition Is Initialization (RAII) idom +(see http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization), +and throw exceptions in case of SQLite errors. + +Each SQLiteC++ object must be constructed with a valid SQLite database connexion, and then is always valid until destroyed. + +Depandancies: + + - a STL implementation (even an old one like VC6/eVC4 should work) + - exception support (the class Exception inherite from std::runtime_error) + - the SQLite library, either by linking to it dynamicaly or staticaly, + or by adding its source file in your project code base. + + +To use it in your project, you only need to add the 6 SQLiteC++ source files +in your project code base (not the main.cpp example file). + +Tot get started, look at the provided examples in main.cpp, starting by : +
+int main (void)
+{
+    try
+    {
+        // Open a database file
+        SQLite::Database    db("example.db3");
+        std::cout << "SQLite database file '" << db.getFilename().c_str() << "' opened successfully\n";
+
+        // Compile a SQL query, containing one parameter (index 1)
+        SQLite::Statement   query(db, "SELECT * FROM test WHERE size > ?");
+        std::cout << "SQLite statement '" << query.getQuery().c_str() << "' compiled (" << query.getColumnCount () << " columns in the result)\n";
+        
+        // Bind the integer value 6 to the first parameter of the SQL query
+        query.bind(1, 6);
+
+        // Loop to execute the query step by step, to get one a row of results at a time
+        while (query.executeStep())
+        {
+            // Demonstrate how to get some typed column value
+            int         id      = query.getColumn(0); // = query.getColumn(0).getInt()
+            std::string value   = query.getColumn(1); // = query.getColumn(1).getText()
+            int         size    = query.getColumn(2); // = query.getColumn(2).getInt()
+
+            std::cout << "row : (" << id << ", " << value << ", " << size << ")\n";
+        }
+
+        // Reset the query to use it again later
+        query.reset();
+    }
+    catch (std::exception& e)
+    {
+        std::cout << "SQLite exception: " << e.what() << std::endl;
+    }
+}
+
+ +For other simple C++ SQLite wrappers look also at: + + - sqdbcpp also using RAII [http://code.google.com/p/sqdbcpp/] + - CppSQLite [http://www.codeproject.com/Articles/6343/CppSQLite-C-Wrapper-for-SQLite/] + or a git fork at [https://github.com/NeoSmart/CppSQLite/] + - sqlite3pp [http://code.google.com/p/sqlite3pp/] + - SQLite++ [http://sqlitepp.berlios.de/] + + + [http://opensource.org/licenses/MIT]: http://opensource.org/licenses/MIT + [http://code.google.com/p/sqdbcpp/]: http://code.google.com/p/sqdbcpp/ + [http://www.codeproject.com/Articles/6343/CppSQLite-C-Wrapper-for-SQLite/]: http://www.codeproject.com/Articles/6343/CppSQLite-C-Wrapper-for-SQLite/ + [https://github.com/NeoSmart/CppSQLite/]: https://github.com/NeoSmart/CppSQLite/ + [http://code.google.com/p/sqlite3pp/]: http://code.google.com/p/sqlite3pp/ + [http://sqlitepp.berlios.de/]: http://sqlitepp.berlios.de/ +