2010-03-28 13 views
5

¿Cómo crear una base de datos usando la programación de conector/red? ¿Cómo es que lo siguiente no funciona?Creando una base de datos usando Connector/NET Programming?

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

Respuesta

10

Es posible que desee ejecutar MySqlCommand. Ahora solo crea uno, pero no ejecuta su consulta.

Prueba esto:

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

se este trabajo en VS 2013 o tiene que adjuntar algunos Dll primero? –

13

Es necesario para ejecutar el comando y también asegurarse de disponer adecuadamente los objetos:

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

¿funcionará esto en VS 2013 o tiene que adjuntar algunos Dll primero? –

0

ejecutar su comando y probar este función

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

    } 
Cuestiones relacionadas