Создание базы данных с использованием программирования Connector/NET?

97
7

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


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

спросил(а) 2010-03-28T13:22:00+04:00 10 лет, 6 месяцев назад
1
Решение
130

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


Попробуйте следующее:

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

ответил(а) 2010-03-28T13:31:00+04:00 10 лет, 6 месяцев назад
150

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

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

ответил(а) 2010-03-28T13:35:00+04:00 10 лет, 6 месяцев назад
40

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


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

}

ответил(а) 2017-06-26T05:53:00+03:00 3 года, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема