Database example

This example shows how to build a connection string, open a generic connection, and execute a query using Energy.Source and Energy.Query.

using System;
using Energy.Source;

class Program
{
    static void Main()
    {
        // Build a MySQL connection string
        Energy.Source.Configuration config = new Energy.Source.Configuration
        {
            Dialect = Energy.Enumeration.SqlDialect.MYSQL,
            Server = "127.0.0.1",
            Port = 3306,
            Catalog = "test",
            User = "test",
            Password = "test",
        };

        Console.WriteLine(config.ConnectionString);

        // Open a generic connection
        Energy.Source.Connection<MySql.Data.MySqlClient.MySqlConnection> db
            = new Energy.Source.Connection<MySql.Data.MySqlClient.MySqlConnection>();
        db.ConnectionString = config.ConnectionString;

        if (!db.Test())
        {
            Console.WriteLine("Connection failed");
            return;
        }

        // Execute scalar
        string timestamp = db.Scalar<string>("SELECT CURRENT_TIMESTAMP()");
        Console.WriteLine("Server time: {0}", timestamp);

        // Build a table structure
        Energy.Source.Structure.Table users = new Energy.Source.Structure.Table();
        users.Name = "Users";
        users.Columns.New("Id").Type = "BIGINT";
        users.Columns.New("Name").Type = "VARCHAR(100)";
        users.Columns.New("Email").Type = "VARCHAR(255)";

        // Generate MySQL CREATE TABLE
        Energy.Query.Dialect.MYSQL mysql = new Energy.Query.Dialect.MYSQL();
        string sql = mysql.CreateTable(users, Energy.Query.Style.Global);
        Console.WriteLine(sql);

        db.Close();
    }
}

See also

  • core-source

  • source-configuration

  • source-structure

  • query-dialect