ExecuteNonQuery () lança "Sintaxe incorreta perto da palavra-chave 'Usuário'"
Comecei a aprender c # na semana passada e agora estou tendo problemas com uma instrução sql INSERT. Eu usei o código a seguir e digo o que acontece.
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.");
}
}
}
}
Meu programa não falha e a caixa de mensagem de exceção é exibida. Estou tentando entender meu erro e alterando a sintaxe do meu command.Parameters.Add, mas ainda não funciona: /.
Depois de alterar o bloco de captura para exibir a exceção em vez de engoli-lo, ele lança:
Sintaxe incorreta perto da palavra-chave 'Usuário'