Creating a database using Connector/NET Programming?

23,792

Solution 1

You might want to execute the MySqlCommand. Now you just create one, but it doesn't execute your query.

Try this:

conn.Open();
s0 = "CREATE DATABASE IF NOT EXISTS `hello`;";
cmd = new MySqlCommand(s0, conn);
cmd.ExecuteNonQuery();
conn.Close();

Solution 2

You need to execute the command and also make sure to properly dispose objects:

string connStr = "server=localhost;user=root;port=3306;password=mysql;";
using (var conn = new MySqlConnection(connStr))
using (var cmd = conn.CreateCommand())
{
    conn.Open();
    cmd.CommandText = "CREATE DATABASE IF NOT EXISTS `hello`;";
    cmd.ExecuteNonQuery();
}

Solution 3

execute your command and try this function

public void createDatabase(string server, string port, string database, string username, string password)
    {
        string connectionstring = string.Format("Server = {0}; Port ={1}; Uid = {2}; Pwd = {3}; pooling = true; Allow Zero Datetime = False; Min Pool Size = 0; Max Pool Size = 200; ", server, port, username, password);
        using (var con = new MySqlConnection { ConnectionString = connectionstring })
        {
            using (var command = new MySqlCommand { Connection = con })
            {
                if (con.State == ConnectionState.Open)
                    con.Close();

                try
                {
                    con.Open();
                }
                catch (MySqlException ex)
                {
                    msgErr(ex.Message + " connection error.");
                    return;
                }

                try
                {
                    command.CommandText = @"CREATE DATABASE IF NOT EXISTS @database";
                    command.Parameters.AddWithValue("@database", database);
                    command.ExecuteNonQuery();//Execute your command
                }
                catch (MySqlException ex)
                {
                    msgErr(ex.Message + " sql query error.");
                    return;
                }
            }
        }

    }
Share:
23,792
yeeen
Author by

yeeen

Updated on August 04, 2020

Comments

  • yeeen
    yeeen almost 4 years

    How to create a database using connector/net programming? How come the following doesn't work?

        string connStr = "server=localhost;user=root;port=3306;password=mysql;";
        MySqlConnection conn = new MySqlConnection(connStr);
        MySqlCommand cmd;
        string s0;
    
        try
        {
            conn.Open();
            s0 = "CREATE DATABASE IF NOT EXISTS `hello`;";
            cmd = new MySqlCommand(s0, conn);
            conn.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }