2010-11-20 3 views
5

Je reçois une erreur: La connexion doit être valide et ouverte lorsque je démarre ce programme. J'ai cherché sur google et seulement trouvé 2 personnes qui ont la même erreur. Est-il possible de réparer ça ?? ThxLa connexion doit être valide et l'erreur ouverte

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

Pourquoi avez-vous placé l'étiquette ODBC? Cette question n'a rien à voir avec ODBC ... –

+2

Hey, vous avez demandé la même chose il y a une heure: http://stackoverflow.com/questions/4232943/database-query-c-not-working – Fernando

Répondre

11

Vous devez indiquer votre commande à propos de votre objet de connexion. Ajoutez le paramètre de connexion à cette ligne:

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

Votre commande n'a pas de lien d'affectation. Essayez de passer la connexion au constructeur de la commande comme ceci:

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