DbPipeline.NET Database Interface Library
Finally, someone made programming database applications easy!
Developed with VB.NET and C#.NET programmers in mind, the DbPipeline.NET™ Database Interface Library shields you, the programmer, from having to learn and work with all the ADO.NET database objects at a low level, and encapsulates all this power into objects with many additional capabilities and features that are not offered in the standard ADO.NET Framework.
Our goal when designing the DbPipeline.NET™ Library was to create an easy to use database access layer set of classes using 100% managed code so that VB.NET and C#.NET programmers can use it to build database applications (Client/Server, Web, and 3-tier) without having to be consumed with the programming involved with the retrieval, handling, management and storage in memory of the data while it is being worked on, and updating of the data. We have accomplished this, resulting in as much as a 75% reduction in the data access source code needed to build a typical database application.
Key features of the DbPipeline.NET™ Library include:
- Can work directly with SQL Server or any OLE-DB database driver (Oracle, DB2, etc.).
- Classes provided are intuitive and easy to understand how to use.
- Fully support the use of the DbPipeline.NET Library for VB.NET as well as C#.NET programmers.
- TRUST and EMPOWER the programmer. Provide programmers with the power and capabilities of the library, but do not limit or block them from directly sending some SQL to the database, if they deem it necessary. In other words, extend their SQL Knowledge, do not try to replace it!
- Dramatically decrease the amount of coding and time required to create typical database interactive applications.
- Provide a uniform, fast, convenient interface for working with databases, regardless of whether you are developing a WinForms Desktop application, ASP.NET website, Windows Service Application, or a Windows Presentation Foundation (WPF) application.
- Provide functionality that saves the programmer from having to work at such a low level with the ADO.NET Framework classes, such as SqlConnection, SqlDataAdapter, SqlDataReader, SqlTransaction, SqlCommand, SqlParameter, and all the equivalent classes for the OLE-DB interface.
- Provide a programming platform that minimizes the dependence of any particular back-end database, where none of the interaction with the ADO.NET classes above will need to be coded by the programmer, making it much easier to scale an application from one database platform to another (from SQL Server to Oracle, for example).
- Design optimized for performance using 100% C# managed code. Keeping the performance optimized was a key value preserved throughout the design of this library. Managing the row buffer data as a collection of CLR objects keeps the memory footprint to a minimum and allows blazingly fast access.
- Strongly typed interface to table columns, fully taking advantage of IntelliSense in Visual Studio for auto-syntax completion (eliminates errors typing column names).
- Code Generator included for automatically generating the entity classes (in VB.NET or C#.NET) needed for the strongly typed interface to the DataPipeline buffer classes.
- Library is run-time royalty free, with absolutely no fees for distributing applications that use the DbPipeline.NET library.
- Expose database records read from the database as bindable, sortable, observable collection of CLR objects. These collections (lists) can be directly bound to data grids and directly support grid editing and sorting of records without any additional custom programming.
- Handle NULL values automatically by using Nullable CLR data types.
- Facility for building Parameterized SQL for best practices (prevents SQL Injection attacks and performs much faster than dynamic SQL because the query signatures are cached by SQL Server).
- You can use any custom SQL statement needed to populate data into a DataPipeline buffer objects, allowing for complex JOIN or SUBQUERY statements needed for generating reports, record list windows.
- The DataPipeline object is Serializable, so the object, including all of its data, can be stored in a Session variable for an ASP.NET web application as the user works with the data records.
- Logical units of work (transactions) fully supported via BeginTransaction, CommitTransaction, and RollbackTransaction methods.
- Ability to run Stored Procedures that don't return results, retrieve data from Stored Procedures that do return results, and even retrieve OUTPUT parmater values returned by Stored Procedures.
- Ability to run any SQL statement that does not return a result set by using the RunSQLStatement method of the DbConnection class.
- Ability to run any SQL statement that returns a single row, single column result of any data type desired, and retrieve the result.
- Ability to read and write documents (files of any type) to SQL Server image columns.
Here is some sample code for a typical task of connecting to the database:
And here is some sample code showing a typical retrieval of data from a single table and binding to a DataGridView control:
When the GetAllRows method executes, it retrieves all of the records from the database, and stores them into a Bindable, Sortable, Obserbable Collection of CLR objects. The row data is made available to you as a collection, and each column is accessed as a property, should you need to directly work with it. This also benefits from the IntelliSense feature of Visual Studio, preventing typing mistakes for your column names.
Here is what it looks like when you are updating the database, assuming you are programatically updating rows instead of letting the user edit in a grid control:
Here is a screen shot of the code generator that is included with the DbPipeline.NET Library:
Click here to visit the SourceForge website page to get the DbPipeline.NET Library
Click here to download the DbPipeline.NET Getting Started Guide and User’s Guide
The DbPipeline.NET™ Database Library is completely FREE and the source code is included.
Click here for Terms & Conditions