Zapytanie wstawiania SQL przy użyciu C #

W tej chwili mam problem, który próbuję naprawić. Właśnie próbowałem uzyskać dostęp do bazy danych i wstawić niektóre wartości za pomocą C #

Rzeczy, które próbowałem (działały)

String query = "INSERT INTO dbo.SMS_PW (id,username,password,email) VALUES ('abc',      'abc', 'abc', 'abc')";

Nowa linia została wstawiona i wszystko działało dobrze, teraz próbowałem wstawić wiersz za pomocą zmiennych:

String query = "INSERT INTO dbo.SMS_PW (id,username,password,email) VALUES (@id, @username, @password, @email)";

command.Parameters.AddWithValue("@id","abc")
command.Parameters.AddWithValue("@username","abc")
command.Parameters.AddWithValue("@password","abc")
command.Parameters.AddWithValue("@email","abc")

command.ExecuteNonQuery();

Nie działa, nie wprowadzono żadnych wartości. Spróbowałem jeszcze jednej rzeczy

command.Parameters.AddWithValue("@id", SqlDbType.NChar);
command.Parameters["@id"].Value = "abc";

command.Parameters.AddWithValue("@username", SqlDbType.NChar);
command.Parameters["@username"].Value = "abc";

command.Parameters.AddWithValue("@password", SqlDbType.NChar);
command.Parameters["@password"].Value = "abc";

command.Parameters.AddWithValue("@email", SqlDbType.NChar);
command.Parameters["@email"].Value = "abc";

command.ExecuteNonQuery();

Czy ktoś może mi powiedzieć, co robię źle?

Z poważaniem

EDYTOWAĆ:

w innej linii tworzyłem nowe polecenie SQL

var cmd = new SqlCommand(query, connection);

Nadal nie działa i nie mogę znaleźć nic złego w powyższym kodzie.

questionAnswers(8)

yourAnswerToTheQuestion