"System.InvalidOperationException" в System.Data.dll
Пытаюсь заинсертить 2 сущности, данные которых получены из WinForms. Но выскакивает "Вызвано исключение: "System.InvalidOperationException" в System.Data.dll". Я так понимаю, исключение возникает по попытке сделать команду SQL. У меня в коде где-то ошибка? И можно ли как-то развернуть исключение, чтобы понять, где проблема? Потому что при отладке в стек трейсе у меня пусто, а в консоле лишь оповещение об исключении... Сам код запроса:
public void Add(Human human, Address address)
{
using (var connection = new SqlConnection())
using (var command = new SqlCommand())
{
connection.Open();
command.Connection = connection;
command.CommandText = "INSERT INTO dbo.Addresses values (@address)";
command.Parameters.Add("@address", SqlDbType.NVarChar).Value = address.AddressName;
command.ExecuteNonQuery();
int id = FindLastId(connection);
command.CommandText = "INSERT INTO dbo.Humen values (@name, @surname, @middlename, @birthday, @phoneNumber, @addressId, @houseNumber, @flat)";
command.Parameters.Add("@name", SqlDbType.NVarChar).Value = human.Name;
command.Parameters.Add("@surname", SqlDbType.NVarChar).Value = human.Surname;
command.Parameters.Add("@middlename", SqlDbType.NVarChar).Value = human.MiddleName;
command.Parameters.Add("@birthday", SqlDbType.DateTime).Value = human.Birthday;
command.Parameters.Add("@phoneNumber", SqlDbType.NVarChar).Value = human.Number;
command.Parameters.Add("@addressId", SqlDbType.Int).Value = id;
command.Parameters.Add("@houseNumber", SqlDbType.Int).Value = human.HouseNumber;
command.Parameters.Add("@flat", SqlDbType.Int).Value = human.Flat;
command.ExecuteNonQuery();
}
}
private int FindLastId(SqlConnection connection)
{
SqlCommand command1 = new SqlCommand("SELECT SCOPE_IDENTITY()", connection);
return Convert.ToInt32(command1.ExecuteScalar());
}
База данных.
