J'essaie d'insérer une ligne dans ma table utilisateur (SQL Server Compact 3.5). Ceci est ma requête (LastName, FirstName et UserPassword sont NVARCHAR, IsActive est BIT):SQL CE insertion requête fonctionne uniquement en dehors de C#
INSERT INTO Users (LastName, FirstName, IsActive, UserPassword) VALUES ('J', 'R', 1, 'T')
Je converti ce au bloc de code suivant en C#:
string returnQuery = "INSERT INTO Users (LastName, FirstName, IsActive, UserPassword)"
+ "VALUES(" + "'" + "@LastName" + "', '" + "@FirstName" + "', @IsActive" + ",'" + "@UserPassword" + "'";
SqlCeCommand returnQueryCommand =
new SqlCeCommand(returnQuery, connection) { CommandType = CommandType.Text };
returnQueryCommand.Parameters.AddWithValue("@LastName", newUser.LastName);
returnQueryCommand.Parameters.AddWithValue("@FirstName", newUser.FirstName);
returnQueryCommand.Parameters.AddWithValue("@IsActive", newUser.IsActive);
returnQueryCommand.Parameters.AddWithValue("@UserPassword", newUser.UserPassword);
je reçois une erreur d'analyse lors de l'exécution mon code. Cependant, lorsque j'exécute la requête directement dans CompactView, la ligne est insérée correctement.
Je suis exécuté la requête dans une autre méthode (je retourne SqlCeCommand de cette méthode).
Pensées?
Il est juste 'INSERT INTO utilisateurs (nom, prénom, isActive, UserPassword) VALUES (@LastName, @FirstName, @IsActive, @UserPassword)' – LarsTech