===== MariaDB & C# ===== I det følgende vil vi skabe en forbindelse mellem C# og MariaDB. ==== C# MySQL/MariaDB Connector ==== For forbinde fra C# VS til MariaDB kræves en 'Connector' (driver). Denne driver kan installeres i VS under **tools**. (Se nedenstående billede) {{ :images:nuget_packages.png |}} ---- Søg efter MySQLConnector og installer denne. (se nedenstående billede) {{ :images:nuget_mysqlconnector.png |}} ---- ==== C# til MariaDB/MySQL forbindelse ==== Denne video demonstrerer hvordan man forbinder til en MariaDB/MySQL database fra **konsollen**. Der laves yderligere en metode til at håndtere en 'insert' i en tabel. * https://www.youtube.com/watch?v=ujYJnEVZVCM // **OBS !! I skal istedet for 'using MySQL.Data' bruge:**// using MySqlConnector; Følg eksemplet og implementer selv en klasse der kan **forbinde** til din egen database, samt metoder for '**INSERT**' og '**DELETE**' i databasen. * NET Connector API: https://dev.mysql.com/doc/connectors/en/connector-net-programming.html ---- ==== C# Form data til MariaDB/MySQL (INSERT) ==== ---- ==== Data udtræk til C# form (SELECT)==== {{ :images:sql_winform_1.png |}} ---- ==== Database til DataGridView ==== {{ :images:database_to_datagrid.png |}} ---- ==== DBConn klasse ==== using System; using System.Data; using MySqlConnector; namespace WinToMariaDB { internal class DBConn { private string server = "localhost"; private string database = "camping"; private string username = "root"; private string password = "xxxxxxxx"; MySqlConnection connection; public DBConn() { Connect(); } private void Connect() { string connectionString = $"Server={server};Database={database};User={username};Password={password};"; connection = new MySqlConnection(connectionString); try { connection.Open(); } catch (Exception ex) { Console.WriteLine($"Error opening database: {ex.Message}"); } finally { connection.Close(); } } public bool CloseConnection(){ if (this.connection.State == ConnectionState.Open) { connection.Close(); return true; } return false; } public bool OpenConnection(){ if (this.connection.State == ConnectionState.Closed) { connection.Open(); return true; } return false; } public MySqlConnection GetConnection() { return this.connection; } } } ==== Video ==== * De tre komponenter, **MySqlDataAdapter**, **DataTable** og **BindingSource** samarbejder om at håndtere data i en C# desktop-applikation. * Video : https://youtu.be/D7k40TluvD0?t=244 * (Obs!: Bemærk der bruges den ændre MySql.Data i dette eksempel ..i skal stadig bruge MySqlConnector )