How can I use ADO.NET DbProviderFactory with MySQL?

user366312 picture user366312 · Aug 1, 2009 · Viewed 14.3k times · Source

How can I use ADO.NET DbProviderFactory with MySQL?

Answer

Ken Keenan picture Ken Keenan · Aug 1, 2009

First, you have to install the MySQL .Net Connector.

The MySQL Provider factory has the invariant name "MySql.Data.MySqlClient". Below is some example C# code that retrieves all the table names in the local test database and sticks them in a listbox in response to a button click.

private void button1_Click(object sender, EventArgs e)
{
    var dbf = DbProviderFactories.GetFactory("MySql.Data.MySqlClient");
    using (var dbcn = dbf.CreateConnection())
    {
        dbcn.ConnectionString = "Server=localhost;Database=test;Uid=test;Pwd=test;";
        dbcn.Open();
        using (var dbcmd = dbcn.CreateCommand())
        {
            dbcmd.CommandType = CommandType.Text;
            dbcmd.CommandText = "SHOW TABLES;";
            using (var dbrdr = dbcmd.ExecuteReader())
            {
                while (dbrdr.Read())
                {
                    listBox1.Items.Add(dbrdr[0]);
                }
            }
        }
    }
}