Uber Connector *********************************************************************************** About ----------------------------------------------------------------------------------> A wrapper for using different data-sources in .NET (written in C#) using a single universal standard for data-types and parent connector object. This will allow applications to support multiple data-sources with minimal changes to the code-base. Supported data-sources: > MySQL > SQLite (partial) Supported platforms: > Tested on Windows (XP/2003/7/8/2008) > Tested on Linux (Arch using Mono ~ http://www.mono-project.com) Features: > Logging. > Connect/disconnect/check the connection is ready. > Change database. > Queries - read, execute, scalar and count. > Custom exceptions. > Prepared statements. > Binary data read/write. > SQLUtils class for escaping and other utility features. Third-Party Libraries ----------------------------------------------------------------------------------> Title: MySQL Version: 1.0.10.1 URL: http://dev.mysql.com/downloads/connector/net/ Location: /Connector/MySql.Data.dll License: GNU General Public License, version 2 URL: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html Title: SQLite Version: 3.7.1.1 URL: http://www.sqlite.org/ Location: /Connector/sqlite3.dll License: Public Domain URL: http://www.sqlite.org/copyright.html Note: This file can be removed if unused; this library is not loaded at runtime, only invoked. Issues ----------------------------------------------------------------------------------> > MSSQL needs implementing. > PostgreSQL needs implementing. Authors ----------------------------------------------------------------------------------> > Limpygnome ubermeat.co.uk limpygnome at gmail dot com Build Change-Log ----------------------------------------------------------------------------------> For actual code-changes, review the code files separately and refer to their header change-log. v1.6.5.0: - Added prepared-statement support for queryCount in Connector class. v1.6.4.0: - Added contains method to ResultRow (very minor addition). v1.6.3.0: - Better handling of MySQL parameters. - Added more class/modifier security to ResultRow. - Added more support for BLOBs being read as byte arrays. v1.6.2.0: - Added connector-type property and enum. v1.6.0.1: - Added better support for null values. v1.6.0.0: - Added prepared statements, major code clean-up, minor improvements, removed MSSQL (poor implementation, discontinued), comment headers updated to new standard, README updated to new standard, updated MySQL connector library. The code-format should be majorly improved, along with code documentation. Connection checking on every single read/execute has also been removed, as this is not needed in most cases and most likely just slows down processing time. v1.5.0.0: - Added Query_Scalar_Parameters. v1.4.0.0: - Added and implemented DuplicateEntryException for MySQL. v1.3.0.0: - Added the ability to execute and read stored procedures. v1.2.0.0: - Added change-log. - Added connection-checking before any queries in-case of the connection being broken due to idling. - CRITICAL: discovered an SQL-injection vulnerability with modifier-letter-apostrophe character; this is a unicode character and usually ignored (I believe)...and the MySQL escape documentation (http://dev.mysql.com/doc/refman/5.0/en/string-literals.html) does not mention this character. - Improved escaping method.
marcuscraske/Uber-Connector
An easy-to-use .NET database connector using an interface paradigm; this allows for a data-source to change whilst interacting code is left unchanged.
C#