Создание базы данных с использованием Connector / NET Programming? - PullRequest
6 голосов
/ 28 марта 2010

Как создать базу данных с использованием коннектора / сетевого программирования? Почему следующее не работает?

    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());
    }

Ответы [ 4 ]

16 голосов
/ 28 марта 2010

Вам необходимо выполнить команду, а также убедиться, что объекты правильно расположены:

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();
}
13 голосов
/ 28 марта 2010

Возможно, вы захотите выполнить MySqlCommand. Теперь вы просто создаете его, но он не выполняет ваш запрос.

Попробуйте это:

conn.Open();
s0 = "CREATE DATABASE IF NOT EXISTS `hello`;";
cmd = new MySqlCommand(s0, conn);
cmd.ExecuteNonQuery();
conn.Close();
1 голос
/ 26 июня 2017

выполните вашу команду и попробуйте эту функцию

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;
                }
            }
        }

    }
0 голосов
/ 01 апреля 2018

Импортирует MySql.Data.MySqlClient Открытый класс Form1 Private dBf As String = "Empresa" Private str As String = "Сервер = localhost; uid = root; pwd =; База данных = mysql; pooling = false;" Частный Cmd As MySqlCommand Private Con As New MySqlConnection (str) Частный Sub Form1_Load () Обрабатывает MyBase.Load Пытаться Con.Open () Cmd = New MySqlCommand («Создать базу данных, если не существует» + dBf, Con) Cmd.ExecuteNonQuery (): Con.ChangeDatabase (dBf) Cmd = Con.CreateCommand Cmd.CommandText = "СОЗДАТЬ ТАБЛИЦУ Empleado" & "(Id Char (10) COLLATE utf8_spanish_ci Not Null," & "name VarChar (50) COLLATE utf8_spanish_ci Not Null," & "напишите VarChar (50) COLLATE utf8_spanish_ci Not Null," & "веб-сайт VarChar (50) COLLATE utf8_spanish_ci Not Null," & "Первичный ключ (id)) ENGINE = MyISAM" Cmd.ExecuteNonQuery () MsgBox («Registros, ок !!!»): Con.Close () Поймать как исключение МздВох (Err.Description) Конец попробовать End Sub Конечный класс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...