← All NMath Code Examples
using System;
using System.Data;
using System.Data.SqlClient;
using CenterSpace.NMath.Core;
namespace CenterSpace.NMath.Examples.CSharp
{
/// <summary>
/// A .NET example in C# showing how to use ADO.NET data structures with matrices.
/// </summary>
class DatabaseExample
{
static void Main( string[] args )
{
Console.WriteLine();
// Set up "database"
var table = new DataTable();
table.Columns.Add( "column1", typeof( double ) );
table.Columns.Add( "column2", typeof( double ) );
object[] data = new object[2];
data[0] = 4.5d;
data[1] = 3.2d;
table.Rows.Add( data );
data[0] = -2.4d;
data[1] = 99;
table.Rows.Add( data );
// Create matrix
var A = new DoubleMatrix( table );
Console.WriteLine( "A: " );
Console.WriteLine( A.ToTabDelimited() );
// Change matrix by incrementing
A++;
Console.WriteLine( "A incremented:" );
Console.WriteLine( A.ToTabDelimited() );
// Refresh data table
table = A.ToDataTable();
// Insert into a database
// DataSet dataSet = new DataSet();
// dataSet.Tables.Add( table );
// SqlConnection connection = new SqlConnection( "connectionString" );
// connection.Open();
// SqlDataAdapter adapter = new SqlDataAdapter( "SELECT * FROM Values", connection );
// adapter.Update( dataSet );
// connection.Close();
// Select rows where column1 is positive
DataRow[] rows = table.Select( "column1 > 0" );
// Make new matrix of resulting rows.
A = new DoubleMatrix( rows );
Console.WriteLine( "A from database:" );
Console.WriteLine( A.ToTabDelimited() );
Console.WriteLine();
Console.WriteLine( "Press Enter Key" );
Console.Read();
} // Main
}// class
}// namespace
← All NMath Code Examples