SQLite erreur Insuffisance des paramètres fournis à la commande à partir de Mono.Les données.Sqlite.SqliteStatement.BindParameter
J'ai une simple instruction insert à une table dans une base de données SQLite sur MonoDroid.
Lors de l'insertion de la base de données, il est dit
SQLite erreur Insuffisance des paramètres fournis à la commande à partir de Mono.Les données.Sqlite.SqliteStatement.BindParameter
Je pense qu'il y a un bug, ou le message d'erreur est trompeur. Parce que je n'ai que 5 paramètres et je suis fournissant des 5 paramètres, donc je ne vois pas comment ce droit.
Mon code est ci-dessous, et toute aide serait grandement appréciée.
try
{
using (var connection = new SqliteConnection(ConnectionString))
{
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandTimeout = 0;
command.CommandText = "INSERT INTO [User] (UserPK ,Name ,Password ,Category ,ContactFK) VALUES ( @UserPK , @Name , @Password , @Category , @ContactFK)";
command.Parameters.Add(new SqliteParameter("@Name", "Has"));
command.Parameters.Add(new SqliteParameter("@Password", "Has"));
command.Parameters.Add(new SqliteParameter("@Cateogry", ""));
command.Parameters.Add(new SqliteParameter("@ContactFK", DBNull.Value));
command.Parameters.Add(new SqliteParameter("@UserPK", DbType.Guid) {Value = Guid.NewGuid()});
var result = command.ExecuteNonQuery();
return = result > 0 ;
}
}
}
catch (Exception exception)
{
LogError(exception);
}
Vous devez vous connecter pour publier un commentaire.
Votre orthographe pour
@Category
dans l'instruction INSERT est différent du paramètre ajouté.Vous avez:
Où il devrait être:
Modifier votre déclaration:
Cela a déjà été répondu correctement, mais je tiens à ajouter, pour plus d'informations:
Ce SQLite chaîne d'erreur peuvent également être générés si l'un des @Paramètres sont orthographiés différemment dans l'instruction INSERT vs le AddWithValue ou .Add(new SqliteParameter... déclarations.