C# Database Example

← 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
Top