Question :
Lors de la tentative d'exécution d'une commande SQL à l'aide de ExecuteNonQuery( ), une erreur est rencontrée indiquant que la propriété de connexion n'a pas été initialisée. Quelle pourrait être la cause de ce problème ?
Réponse :
Le message d'erreur « ExecuteNonQuery : la propriété Connection n'a pas été initialisée » suggère que l'objet SqlConnection n'a pas été correctement attribué à l'objet SqlCommand. Pour résoudre ce problème, la propriété de connexion de SqlCommand doit être explicitement définie.
Solution :
Une méthode pour attribuer la connexion consiste à utiliser le constructeur de la classe SqlCommand. :
cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ", connection1);
Alternativement, la propriété de connexion peut être attribuée directement :
cmd.InsertCommand.Connection = connection1;
Considérations supplémentaires :
Exemple de code :
using (var connection1 = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=syslog2;Integrated Security=True")) using (var cmd = new SqlDataAdapter()) using (var insertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ")) { insertCommand.Connection = connection1; cmd.InsertCommand = insertCommand; // Other code... connection1.Open(); insertCommand.ExecuteNonQuery(); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!