2010-11-20 6 views
5

Recibo un error: La conexión debe ser válida y abierta cuando inicio este programa. Busqué en google y solo encontré 2 personas que tienen el mismo error. Es posible arreglar esto ?? ThxLa conexión debe ser válida y abrir error

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Windows.Forms; 
using System.Data.Odbc; 
using System.Data.Sql; 
namespace WindowsFormsApplication1 
{ 
static class Program 
{ 
    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main() 
    { 
     string connectionString = "Server=localhost;Uid=root;Pwd=******;Database=testing;"; 
     MySql.Data.MySqlClient.MySqlConnection connection = new MySql.Data.MySqlClient.MySqlConnection(connectionString); 

     connection.Open(); 

     string insertQuery = "ALTER TABLE `user` ADD lol INT"; 
     MySql.Data.MySqlClient.MySqlCommand myCommand = new MySql.Data.MySqlClient.MySqlCommand(insertQuery); 
     myCommand.ExecuteNonQuery(); 
     connection.Close(); 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Application.Run(new Form1()); 
    } 
} 
} 
+0

¿Por qué puso la etiqueta odbc? Esta pregunta no tiene nada que ver con ODBC ... –

+2

Oye, usted hizo la misma pregunta hace una hora: http://stackoverflow.com/questions/4232943/database-query-c-not-working – Fernando

Respuesta

11

tiene que decirle a su comando sobre su objeto de conexión. Agregue el parámetro de conexión a esta línea:

MySql.Data.MySqlClient.MySqlCommand myCommand = new MySql.Data.MySqlClient.MySqlCommand(insertQuery, connection); 
4

Su comando no tiene conexión assignet a él. Trate de pasar la conexión con el constructor de la orden como la siguiente:

MySql.Data.MySqlClient.MySqlCommand myCommand = new MySql.Data.MySqlClient.MySqlCommand(insertQuery, connection); 
Cuestiones relacionadas