Heim >Backend-Entwicklung >C++ >Warum gibt mein C# „ExecuteNonQuery' den Fehler „Verbindungseigenschaft nicht initialisiert' aus?
ExecuteNonQuery: Verbindungseigenschaft nicht initialisiert
Das im bereitgestellten C#-Code aufgetretene Problem besteht darin, dass die Verbindungseigenschaft des SqlCommand namens InsertCommand nicht initialisiert wurde festgelegt, was zu dem Fehler „ExecuteNonQuery: Connection property has not been“ führte initialisiert.“
Um diesen Fehler zu beheben, müssen Sie die Connection-Eigenschaft explizit dem InsertCommand zuweisen. Dies kann entweder mit der Connection-Eigenschaft oder mit dem Konstruktor von SqlCommand erreicht werden.
// Option 1: Using the Connection property cmd.InsertCommand.Connection = connection1; // Option 2: Using the constructor cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ", connection1);
Zusätzlich wird empfohlen, die using-Anweisung für IDisposable-Objekte wie SqlConnection und SqlCommand zu verwenden. Dadurch wird sichergestellt, dass die Ressourcen nach der Verwendung ordnungsgemäß entsorgt werden.
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; connection1.Open(); foreach (EventLogEntry entry in alog.Entries) { // Assign parameter values // ... // Execute the insert command cmd.InsertCommand.ExecuteNonQuery(); } }
Durch diese Anpassungen wird die Verbindungseigenschaft des InsertCommand ordnungsgemäß festgelegt und der Code sollte ausgeführt werden, ohne dass der Fehler auftritt.
Das obige ist der detaillierte Inhalt vonWarum gibt mein C# „ExecuteNonQuery' den Fehler „Verbindungseigenschaft nicht initialisiert' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!