Heim >Backend-Entwicklung >C++ >Warum schlägt „ExecuteNonQuery()' mit dem Fehler „Nicht initialisierte Verbindungseigenschaft' fehl?
Frage:
Beim Versuch, einen SQL-Befehl mit ExecuteNonQuery( ), ist ein Fehler aufgetreten, der darauf hinweist, dass die Verbindungseigenschaft nicht initialisiert wurde. Was könnte dieses Problem verursachen?
Antwort:
Die Fehlermeldung „ExecuteNonQuery: Verbindungseigenschaft wurde nicht initialisiert“ deutet darauf hin, dass das SqlConnection-Objekt nicht initialisiert wurde ordnungsgemäß dem SqlCommand-Objekt zugewiesen. Um dieses Problem zu beheben, muss die Verbindungseigenschaft von SqlCommand explizit festgelegt werden.
Lösung:
Eine Methode zum Zuweisen der Verbindung ist der Konstruktor der SqlCommand-Klasse :
cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ", connection1);
Alternativ kann die Verbindungseigenschaft zugewiesen werden direkt:
cmd.InsertCommand.Connection = connection1;
Zusätzliche Überlegungen:
Beispielcode:
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(); }
Das obige ist der detaillierte Inhalt vonWarum schlägt „ExecuteNonQuery()' mit dem Fehler „Nicht initialisierte Verbindungseigenschaft' fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!