Bonjour:

Voici 3 lignes de code qui lancent une exception:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Ligne 67 :                                     cx.Open();
Ligne 68 :                                     OdbcCommand cmd= new OdbcCommand("CREATE TABLE products(id INT PRIMARY_KEY, name VARCHAR(20), price FLOAT");
Ligne 69 :                                     cmd.ExecuteNonQuery();
Et l'exception en question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
InvalidOperationException: ExecuteNonQuery : la propriété Connection n'a pas été initialisée.
   System.Data.Odbc.OdbcCommand.ValidateConnectionAndTransaction(String method) +49
   System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod) +137
   System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader) +91
   System.Data.Odbc.OdbcCommand.ExecuteNonQuery() +92
   ASP.database_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in c:\Documents and Settings\rageice\Mes documents\Visual Studio 2005\WebSites\webshop\database.aspx:69
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +129
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +53
   System.Web.UI.Control.Render(HtmlTextWriter writer) +31
   System.Web.UI.Page.Render(HtmlTextWriter writer) +39
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +74
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +291
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +49
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5539
Sur le site de msdn, je vois que:
Je reçois l'erreur " La propriété Connection n'a pas été initialisée "
Cela est probablement dû à des objets de commande qui ne contiennent plus de référence à un objet connexion de données valide. Cela est généralement provoqué par la suppression et la recréation d'un objet de connexion existant.
Pourtant c'est le seul endroit du code ou je crée la connection, cela ne devrait donc pas être un problème de référence. Et il semble que ma base soit bien trouvée et ouverte car si je me limite a cx.open() et cx.close(), pas de problème.
De plus, impossible d'en savoir plus sur google.
En espérant que vous compreniez...

Merci d'avance.