ExecuteNonQuery () gibt "Falsche Syntax in der Nähe des Schlüsselworts" User "" aus.

Ich habe letzte Woche angefangen, C # zu lernen und habe jetzt Probleme mit einer INSERT-SQL-Anweisung. Ich habe den folgenden Code verwendet und Ihnen dann mitgeteilt, was passiert.

private void AddNewUserToDataBase(User user)
{
    string commandText = "INSERT INTO User (firstName,lastName,adress,town,favoriteCurrency) " +
                         "VALUES (@firstName,@lastName,@adress,@town,@favoriteCurrency)";

    using (SqlConnection connection = new SqlConnection(global::Laboratoire1.Properties.Settings.Default.Database1ConnectionString))
    {
        using (SqlCommand command = new SqlCommand())
        {
            command.Connection = connection;
            command.CommandText = commandText;
            command.CommandType = CommandType.Text;

            // je passe les paramètres ici pour éviter les erreurs au niveau du string commande 

            command.Parameters.Add(new SqlParameter("@firstName", user.getFirstName())); // autre façon plus générale
            command.Parameters.Add(new SqlParameter("@lastName", user.getLastName()));
            command.Parameters.Add(new SqlParameter("@adress", user.getAdress()));
            command.Parameters.Add(new SqlParameter("@town", user.getTown()));
            command.Parameters.Add(new SqlParameter("@favoriteCurrency", user.getFavoriteCurrencyId()));

            try
            {
                connection.Open();
                command.ExecuteNonQuery();
                connection.Close();
            }
            catch (SqlException ex)
            {
                MessageBox.Show("Une erreur s'est produite.");
            }
        }
    }
}

Mein Programm stürzt nicht ab und das Ausnahmemeldungsfeld wird angezeigt. Ich habe versucht, meinen Fehler zu verstehen und die Syntax meines Befehls zu ändern.Parameters.Add, aber es funktioniert immer noch nicht: /

Nachdem der catch-Block so geändert wurde, dass die Ausnahme angezeigt wird, anstatt sie zu verschlucken, wird Folgendes ausgelöst:

Incorrect syntax near the keyword 'User'

Antworten auf die Frage(2)

Ihre Antwort auf die Frage