CompuMaster.Data 3.0.2025.1229

dotnet add package CompuMaster.Data --version 3.0.2025.1229
                    
NuGet\Install-Package CompuMaster.Data -Version 3.0.2025.1229
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CompuMaster.Data" Version="3.0.2025.1229" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CompuMaster.Data" Version="3.0.2025.1229" />
                    
Directory.Packages.props
<PackageReference Include="CompuMaster.Data" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CompuMaster.Data --version 3.0.2025.1229
                    
#r "nuget: CompuMaster.Data, 3.0.2025.1229"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CompuMaster.Data@3.0.2025.1229
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CompuMaster.Data&version=3.0.2025.1229
                    
Install as a Cake Addin
#tool nuget:?package=CompuMaster.Data&version=3.0.2025.1229
                    
Install as a Cake Tool

CompuMaster.Data

.NET library with common methods for simplified data access, data table arrangements and data IO

Github Release NuGet CompuMaster.Data NuGet CompuMaster.Data.Controls

Simple download/installation using NuGet

Install-Package CompuMaster.Data

respectively

Install-Package CompuMaster.Data.Controls

Also see: https://www.nuget.org/packages/CompuMaster.Data/

Some of the many features - all .Net data providers

  • easy and stable access to data from external data sources (native, OLE-DB, ODBC)
  • execute/query data from database with the most less amount of code lines: simply fill a complete DataTable with 1 (!!) line of code
        'VB.NET sample:
        Dim MyTable As System.Data.DataTable = CompuMaster.Data.DataQuery.AnyIDataProvider.FillDataTable(
            New System.Data.OleDb.OleDbConnection(ConnectionString),
            "SELECT * FROM table", System.Data.CommandType.Text,
            Nothing,
            CompuMaster.Data.DataQuery.AnyIDataProvider.Automations.AutoOpenAndCloseAndDisposeConnection,
            "MyTableName")
        // C# sample: 
        System.Data.DataTable myTable = CompuMaster.Data.DataQuery.AnyIDataProvider.FillDataTable(
            New System.Data.OleDb.OleDbConnection(ConnectionString),
            "SELECT * FROM table", System.Data.CommandType.Text,
            null,
            CompuMaster.Data.DataQuery.AnyIDataProvider.Automations.AutoOpenAndCloseAndDisposeConnection,
            "MyTableName");
  • execute a query with several command parameters within 5 (!!) lines of code
        Dim MyCmd As New System.Data.SqlClient.SqlCommand("SELECT * FROM table WHERE FN=@FirstName AND LN=@FamilyName", New System.Data.SqlClient.SqlConnection(ConnectionString))
        MyCmd.Parameters.Add("@FirstName", SqlDbType.NVarChar).Value = "John"
        MyCmd.Parameters.Add("@FamilyName", SqlDbType.NVarChar).Value = "O'Regan"
        MyCmd.CommandType = System.Data.CommandType.Text
        MyTable = CompuMaster.Data.DataQuery.AnyIDataProvider.FillDataTable(
            MyCmd,
            CompuMaster.Data.DataQuery.AnyIDataProvider.Automations.AutoOpenAndCloseAndDisposeConnection,
            "MyTableName")
  • code reduction = maintenance costs reduction
    • execute/query data from database with the most less amount of code lines seen ever
  • code reduction = more stable code
    • forget the Try-Catch-Finally blocks
    • never forget to close a connection and run into pooling problems
  • simplified common methods to query/update data from/on database for all .Net data providers
    • don't care any more about MS SQL Server, MySql, Oracle, PostgreSql or many other RDMS
    • don't care any more about accessing the RDMS using native .Net data providers, OLE-DB or ODBC connections
  • simplified common methods to write back your locally changed data to your external data source

Some of the many features - CSV

  • native access to CSV files
    • read/write CSV files with one line of code
        SourceTable = CompuMaster.Data.Csv.ReadDataTableFromCsvFile("c:\temp\input.txt", True)
        CompuMaster.Data.Csv.WriteDataTableToCsvFile("C:\temp\data.csv", SourceTable)
  • support column headers enabled or disabled
  • culture dependent or culture independent (especially column separtors, decimal separators)
  • always use correct file encoding (ANSI, UTF-8, UTF-16, WINDOWS-1252, ISO-8859-1 and many others)
  • always create valid CSV data
  • support for multi-line data in your CSV files - even Microsoft Excel will understand it on import
  • CSV files can use column separators of fixed column widths
  • read/write from/to files, strings or
  • read directly a CSV file from an URL
  • ideal for your simple REST web service client/server

DataTables - your in-memory relational database system

  • extract columns and rows using filters, where-clauses and many other technics you already know from your favorite SQL system
  • join several DataTables in memory as you do with your favorite SQL system
    • Inner Join
    • Left Join
    • Right Join
    • Full Outer Join
    • Cross Join
    • use 1 or more columns for joining
        Dim NewTable As DataTable = _
              CompuMaster.Data.DataTables.SqlJoinTables( 
              LeftTable, New String() {"ID"}, 
              RightTable, New String() {"PrimaryKeyID"}, 
              CompuMaster.Data.DataTables.SqlJoinTypes.FullOuter)
  • rearrange columns, sort rows and put them into new DataTables
  • convert full DataTables, DataSets or just some DataRows into beautiful plain text or HTML tables with just 1 line of code
        CompuMaster.Data.DataTables.ConvertToPlainTextTable(SourceTable)
        CompuMaster.Data.DataTables.ConvertToPlainTextTableFixedColumnWidths(SourceTable)
        CompuMaster.Data.DataTables.ConvertToHtmlTable(SourceTable)

Some more features - XLS(X)

read directly from .XLS/.XLSX files using XlsReader (may require separate database drivers from Microsoft (Office) installed on your system)

SourceTable = CompuMaster.Data.XlsReader.ReadDataTableFromXlsFile( 
    "c:\temp\input.xlsx", 
    "sheet1")

There is still more...

Still not convinced? Download your library now and for free and see the many stuff in the library you need all the days regardless if you're a C#, VB.NET or ... developer

  • String/Object/Value/Double checks for DbNull.Value, null/Nothing, String.Empty, Double.NaN
  • Remove password part from ConnectionString in case you need to show it to your administrative user
  • Query from LDAP directories directly into DataTables
  • Create empty Microsoft Excel or Microsoft Access database files for immediate read/write access

Honors

This library has been developed and maintained by CompuMaster GmbH for years.

References

CompuMaster.Data.Controls

You may find this library useful for using DataGrids in Windows Forms application with row update support on the foreign data source

Install-Package CompuMaster.Data.Controls

Also see: https://www.nuget.org/packages/CompuMaster.Data.Controls/

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on CompuMaster.Data:

Package Downloads
CompuMaster.Data.Controls

Package Description

CompuMaster.Excel.ExcelOps

Package Description

CompuMaster.Net.Smtp

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.2025.1229 271 12/29/2025
3.0.2025.903 471 9/2/2025
3.0.2025.902 195 9/2/2025
3.0.2025.430 272 4/30/2025
3.0.2024.815 603 8/15/2024
3.0.2024.801 189 8/1/2024
3.0.2024.730 182 7/30/2024
3.0.2024.523 260 5/23/2024
3.0.2024.328 249 3/28/2024
3.0.2024.117 330 1/17/2024
3.0.2023.1124 356 11/23/2023
3.0.2023.1123 216 11/23/2023
3.0.2023.1122 231 11/22/2023
3.0.2023.728 314 7/28/2023
3.0.2023.724 2,860 7/24/2023
3.0.2023.720-beta1 240 7/20/2023
3.0.2023.626 253 6/26/2023
3.0.2023.613 301 6/13/2023
3.0.2023.303 490 3/1/2023
3.0.2023.302 383 3/1/2023
3.0.2023.103 5,962 1/3/2023
3.0.2022.1223 441 12/23/2022
3.0.2022.1115 497 11/15/2022
3.0.2022.906 606 9/5/2022
3.0.2022.905 592 9/5/2022
3.0.2022.811 641 8/11/2022
3.0.2022.726 642 7/25/2022
3.0.2022.610 698 6/10/2022
3.0.2022.311 697 3/11/2022
3.0.2022.225 639 2/25/2022
3.0.2021.714 1,074 7/14/2021
2.8.2021.602 974 6/2/2021
2.8.2021.530 843 5/30/2021
2.8.2021.331 775 3/30/2021
2.8.2021.330 779 3/30/2021
2.8.2021.325 850 3/25/2021
2.8.2021.324 808 3/24/2021
2.8.2021.319 749 3/19/2021
2.8.2021.307 784 3/18/2021
2.8.2021.306 824 3/6/2021
2.8.2021.305 826 3/5/2021
2.8.2021.132 891 1/28/2021
2.8.2021.131 839 1/28/2021
2.8.2021.130 820 1/28/2021
2.8.2021.129 829 1/28/2021
2.8.2021.128 799 1/27/2021
2.8.2021.127 807 1/27/2021
2.8.2021.118 871 1/18/2021
2.8.2020.625 1,116 6/24/2020
2.8.2020.624 979 6/24/2020
2.8.2020.311 1,067 3/11/2020
2.8.2020.129 1,021 1/29/2020
2.8.2020.114 1,129 1/14/2020
2.8.2019.1218 2,385 12/18/2019
2.8.2019.514 1,244 5/14/2019
2.8.2019.320 1,107 3/20/2019
2.8.2019.314 1,082 3/14/2019
2.8.2019.313 1,092 3/14/2019
2.8.2019.312-beta1 797 3/12/2019
2.8.2018.1019-beta1 970 10/19/2018
2.8.2018.1018-beta1 988 10/18/2018
2.8.2018.913 1,433 9/12/2018
2.8.2017.1221 1,725 12/19/2017
2.8.2017.1220 1,876 12/19/2017
2.8.2017.1219 1,871 12/18/2017
2.8.2017.1005 1,843 10/5/2017
2.8.2017.1004 1,785 10/4/2017
2.8.2017.616 1,809 6/16/2017
2.8.2017.613 1,648 6/13/2017
2.8.2017.608 1,608 6/6/2017
2.8.2017.607 1,603 6/6/2017
2.8.2017.606 1,594 6/6/2017
2.8.2017.503 1,658 5/2/2017
2.8.2017.502 1,605 5/2/2017
2.8.2016.824 1,988 8/24/2016
2.8.2016.818 1,930 8/16/2016
2.8.2016.817 1,910 8/16/2016
2.8.2016.816 1,971 8/16/2016
2.8.2016.805 2,048 8/4/2016
2.8.2016.804-beta3 1,727 8/4/2016
2.8.2016.804-beta2 1,594 8/4/2016
2.8.2016.723 1,936 7/22/2016
2.8.2016.722 1,947 7/21/2016
2.8.2016.721 1,918 7/21/2016
2.8.2016.708 1,913 7/8/2016
2.8.2016.707 1,721 7/8/2016
2.8.2016.120 2,100 1/20/2016
2.8.2015.1123 2,113 11/12/2015
2.8.2015.1122 1,990 11/12/2015