Enterprise Library: ExecuteNonQuery: Connection property has not been initialized.

Written on December 11, 2006

Gestern wollte ich mit der Enterprise Library ein SQL-Insert-Command ausführen.

An sich nichts Weltbewegendes (schon x-mal gemacht, x-mal hats funktioniert) - allerdings erhielt ich beim Ausführen des folgenden Codes

Database db = DatabaseFactory.CreateDatabase();DbCommand command = db.GetStoredProcCommand("SPInsert");
db.AddInParameter(command, "@Guid", DbType.Guid, Guid.NewGuid());
db.AddInParameter(command, "@FirstName", DbType.String, "Alexander");
db.AddInParameter(command, "@LastName", DbType.String, "Zeitler");
db.AddInParameter(command, "@EMail", DbType.String, "alex@alexonasp.net");
command.ExecuteNonQuery();

immer folgende Exception:

ExecuteNonQuery: Connection property has not been initialized.

Nach einigem Suchen fand ich den Fehler: die Enterprise Library bzw. die Database-Klasse liefert eine eigene Methode ExecuteNonQuery mit, die verwendet werden muß:

db.ExecuteNonQuery(command);

Merke: der Sonntag ist nicht zum Arbeiten da ;-)