bonjour,
j'ai un soucis avec un dataadapter qui ne veut pas updater mes lignes, j'ai
l'erreur suivante : dbconcurrencyexception.
quelqu'un aurait il une idée ?
voici mon code :
//update command
maCommand = new OleDbCommand("UPDATE author SET aut_nom = @NOM, aut_prenom =
@PRENOM WHERE aut_id = @ID", maConnection);
monParametre = new OleDbParameter("@ID", OleDbType.BigInt);
monParametre.SourceColumn = "aut_id";
monParametre.SourceVersion = DataRowVersion.Original;
maCommand.Parameters.Add(monParametre);
monParametre = new OleDbParameter("@NOM", OleDbType.VarChar, 50);
monParametre.SourceColumn = "aut_nom";
maCommand.Parameters.Add(monParametre);
monParametre = new OleDbParameter("@PRENOM", OleDbType.VarChar, 50);
monParametre.SourceColumn = "aut_prenom";
maCommand.Parameters.Add(monParametre);
monDataAdapter.UpdateCommand = maCommand;
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
mboizeau
L'exception lévée signifie qu'aucune ligne n'a été mise à jour. je vois deux pistes: - un problème dans les paramètres (aut_id inexistant?) - un acces concurentiel bloquant la mise a jour, dans ce cas il faut fermer toutes les autres connections sur la base avant de tester.
OTH
marc Boizeau
http://oraclevsmicrosoft.blogspot.com
Laurent a écrit :
bonjour, j'ai un soucis avec un dataadapter qui ne veut pas updater mes lignes, j' ai l'erreur suivante : dbconcurrencyexception. quelqu'un aurait il une idée ?
voici mon code : //update command maCommand = new OleDbCommand("UPDATE author SET aut_nom = @NOM, aut_p renom = @PRENOM WHERE aut_id = @ID", maConnection); monParametre = new OleDbParameter("@ID", OleDbType.BigInt); monParametre.SourceColumn = "aut_id"; monParametre.SourceVersion = DataRowVersion.Original; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@NOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_nom"; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@PRENOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_prenom"; maCommand.Parameters.Add(monParametre); monDataAdapter.UpdateCommand = maCommand;
-- Laurent M. Développeur .NET
L'exception lévée signifie qu'aucune ligne n'a été mise à jour.
je vois deux pistes:
- un problème dans les paramètres (aut_id inexistant?)
- un acces concurentiel bloquant la mise a jour, dans ce cas il faut
fermer toutes les autres connections sur la base avant de tester.
OTH
marc Boizeau
http://oraclevsmicrosoft.blogspot.com
Laurent a écrit :
bonjour,
j'ai un soucis avec un dataadapter qui ne veut pas updater mes lignes, j' ai
l'erreur suivante : dbconcurrencyexception.
quelqu'un aurait il une idée ?
voici mon code :
//update command
maCommand = new OleDbCommand("UPDATE author SET aut_nom = @NOM, aut_p renom =
@PRENOM WHERE aut_id = @ID", maConnection);
monParametre = new OleDbParameter("@ID", OleDbType.BigInt);
monParametre.SourceColumn = "aut_id";
monParametre.SourceVersion = DataRowVersion.Original;
maCommand.Parameters.Add(monParametre);
monParametre = new OleDbParameter("@NOM", OleDbType.VarChar, 50);
monParametre.SourceColumn = "aut_nom";
maCommand.Parameters.Add(monParametre);
monParametre = new OleDbParameter("@PRENOM", OleDbType.VarChar, 50);
monParametre.SourceColumn = "aut_prenom";
maCommand.Parameters.Add(monParametre);
monDataAdapter.UpdateCommand = maCommand;
L'exception lévée signifie qu'aucune ligne n'a été mise à jour. je vois deux pistes: - un problème dans les paramètres (aut_id inexistant?) - un acces concurentiel bloquant la mise a jour, dans ce cas il faut fermer toutes les autres connections sur la base avant de tester.
OTH
marc Boizeau
http://oraclevsmicrosoft.blogspot.com
Laurent a écrit :
bonjour, j'ai un soucis avec un dataadapter qui ne veut pas updater mes lignes, j' ai l'erreur suivante : dbconcurrencyexception. quelqu'un aurait il une idée ?
voici mon code : //update command maCommand = new OleDbCommand("UPDATE author SET aut_nom = @NOM, aut_p renom = @PRENOM WHERE aut_id = @ID", maConnection); monParametre = new OleDbParameter("@ID", OleDbType.BigInt); monParametre.SourceColumn = "aut_id"; monParametre.SourceVersion = DataRowVersion.Original; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@NOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_nom"; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@PRENOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_prenom"; maCommand.Parameters.Add(monParametre); monDataAdapter.UpdateCommand = maCommand;
-- Laurent M. Développeur .NET
mboizeau
L'exception lévée signifie qu'aucune ligne n'a été mise à jour. je vois deux pistes: - un problème dans les paramètres (aut_id inexistant?) - un acces concurentiel bloquant la mise a jour, dans ce cas il faut fermer toutes les autres connections sur la base avant de tester.
OTH
marc Boizeau
http://oraclevsmicrosoft.blogspot.com
Laurent a écrit :
bonjour, j'ai un soucis avec un dataadapter qui ne veut pas updater mes lignes, j' ai l'erreur suivante : dbconcurrencyexception. quelqu'un aurait il une idée ?
voici mon code : //update command maCommand = new OleDbCommand("UPDATE author SET aut_nom = @NOM, aut_p renom = @PRENOM WHERE aut_id = @ID", maConnection); monParametre = new OleDbParameter("@ID", OleDbType.BigInt); monParametre.SourceColumn = "aut_id"; monParametre.SourceVersion = DataRowVersion.Original; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@NOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_nom"; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@PRENOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_prenom"; maCommand.Parameters.Add(monParametre); monDataAdapter.UpdateCommand = maCommand;
-- Laurent M. Développeur .NET
L'exception lévée signifie qu'aucune ligne n'a été mise à jour.
je vois deux pistes:
- un problème dans les paramètres (aut_id inexistant?)
- un acces concurentiel bloquant la mise a jour, dans ce cas il faut
fermer toutes les autres connections sur la base avant de tester.
OTH
marc Boizeau
http://oraclevsmicrosoft.blogspot.com
Laurent a écrit :
bonjour,
j'ai un soucis avec un dataadapter qui ne veut pas updater mes lignes, j' ai
l'erreur suivante : dbconcurrencyexception.
quelqu'un aurait il une idée ?
voici mon code :
//update command
maCommand = new OleDbCommand("UPDATE author SET aut_nom = @NOM, aut_p renom =
@PRENOM WHERE aut_id = @ID", maConnection);
monParametre = new OleDbParameter("@ID", OleDbType.BigInt);
monParametre.SourceColumn = "aut_id";
monParametre.SourceVersion = DataRowVersion.Original;
maCommand.Parameters.Add(monParametre);
monParametre = new OleDbParameter("@NOM", OleDbType.VarChar, 50);
monParametre.SourceColumn = "aut_nom";
maCommand.Parameters.Add(monParametre);
monParametre = new OleDbParameter("@PRENOM", OleDbType.VarChar, 50);
monParametre.SourceColumn = "aut_prenom";
maCommand.Parameters.Add(monParametre);
monDataAdapter.UpdateCommand = maCommand;
L'exception lévée signifie qu'aucune ligne n'a été mise à jour. je vois deux pistes: - un problème dans les paramètres (aut_id inexistant?) - un acces concurentiel bloquant la mise a jour, dans ce cas il faut fermer toutes les autres connections sur la base avant de tester.
OTH
marc Boizeau
http://oraclevsmicrosoft.blogspot.com
Laurent a écrit :
bonjour, j'ai un soucis avec un dataadapter qui ne veut pas updater mes lignes, j' ai l'erreur suivante : dbconcurrencyexception. quelqu'un aurait il une idée ?
voici mon code : //update command maCommand = new OleDbCommand("UPDATE author SET aut_nom = @NOM, aut_p renom = @PRENOM WHERE aut_id = @ID", maConnection); monParametre = new OleDbParameter("@ID", OleDbType.BigInt); monParametre.SourceColumn = "aut_id"; monParametre.SourceVersion = DataRowVersion.Original; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@NOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_nom"; maCommand.Parameters.Add(monParametre); monParametre = new OleDbParameter("@PRENOM", OleDbType.VarChar, 50); monParametre.SourceColumn = "aut_prenom"; maCommand.Parameters.Add(monParametre); monDataAdapter.UpdateCommand = maCommand;
-- Laurent M. Développeur .NET
Guillaume Davion
Le problème vient du fait que le DataAdapter est paramétré pour fonctionner en mode optimiste : toute modification sur les données pendant l'édition fait qu'une erreur monte. Ca se voit dans la requête d'update : tous les champs sont testés dans le where. Du coup, si il y a un accès cooncurentiel à cette ligne de donnée et que quelqu'un modifie un seul champ, l'update qui vient ensuite échoue, vu qu'aucune ligne n'est mise à jour.
Le problème vient du fait que le DataAdapter est paramétré pour
fonctionner en mode optimiste : toute modification sur les données
pendant l'édition fait qu'une erreur monte.
Ca se voit dans la requête d'update : tous les champs sont testés
dans le where. Du coup, si il y a un accès cooncurentiel à cette
ligne de donnée et que quelqu'un modifie un seul champ, l'update qui
vient ensuite échoue, vu qu'aucune ligne n'est mise à jour.
Le problème vient du fait que le DataAdapter est paramétré pour fonctionner en mode optimiste : toute modification sur les données pendant l'édition fait qu'une erreur monte. Ca se voit dans la requête d'update : tous les champs sont testés dans le where. Du coup, si il y a un accès cooncurentiel à cette ligne de donnée et que quelqu'un modifie un seul champ, l'update qui vient ensuite échoue, vu qu'aucune ligne n'est mise à jour.