M5N
Messages postés5Date d'inscriptionmercredi 10 décembre 2008StatutMembreDernière intervention19 octobre 2009
-
16 oct. 2009 à 16:49
Marroubi
Messages postés51Date d'inscriptionlundi 18 mai 2009StatutMembreDernière intervention30 octobre 2009
-
19 oct. 2009 à 19:29
Bonjour,
j'ai créer une aplication à laquelle j'ai connecté une base de donnée sql server,je souhaite mettre a jour une table, le problème est qu'elle ne soit pas mettre à jour! ou moment ou la procedure d'insertion indique que tout va bien et la transaction est valide, j'arrive pas à localisé le problème, si qqun a une idée n'hesitez pas...
voici la procédure:
public void insertion()
{
// exploitation du fichier de configuration [App.config]
string connectionString = null;
try
{
connectionString = ConfigurationManager.ConnectionStrings["filtres.Properties.Settings.basedapprentissageConnectionString"].ConnectionString;
}
catch (Exception e)
{
MessageBox.Show("Erreur de configuration : {0}" + e.Message, "Ajout à la base d'apprentissage", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
SqlCeConnection connexion = new SqlCeConnection(connectionString);
myCommand.Prepare();
// transaction
SqlCeTransaction transaction = null;
try
{
// début transaction
transaction = connexion.BeginTransaction();
// la commande SQL doit être exécutée dans cette transaction
myCommand.Transaction = transaction;
// exécution requête
int nbLignes = myCommand.ExecuteNonQuery();
// on valide la transaction
transaction.Commit();
// affichage résultat
MessageBox.Show("transaction validée...", "Ajout à la base d'apprentissage",MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
// on défait la transaction
transaction.Rollback();
// msg d'erreur
MessageBox.Show("transaction invalidée..." + "(" + ex.Message + ")", "Ajout à la base d'apprentissage", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
// msg d'erreur
MessageBox.Show("Erreur d'accès à la base de données (" + ex.Message + ")", "Ajout à la base d'apprentissage", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
M5N
Messages postés5Date d'inscriptionmercredi 10 décembre 2008StatutMembreDernière intervention19 octobre 2009 19 oct. 2009 à 15:16
salut;
merci pour ta réponse, j'ai essayé tout mais ça n'a pas donné de résultat malheureusement, je ponse que le problème est dans les liens ou la configuration!!, j'espère touvé une solution en urgence svp j'"attend votre aide.
Merci d'avance
Marroubi
Messages postés51Date d'inscriptionlundi 18 mai 2009StatutMembreDernière intervention30 octobre 20092 19 oct. 2009 à 19:29
Salut;
## je ponse que le problème est dans les liens ou la configuration!! ##
d'accord, selon ton premier message le message suivant s'affiche après l'exécution ## transaction validée.. ##
c'est à dire qu'aucun problème ne survient lors de l'ouverture de votre connexion ; alors la configuration de votre chaine de connexion est 100% correcte.
essayer de mettre un point d'arrêt et suit votre code pour bien vérifier que tout va bien.
d'autre part j'ai un exemple semblable que ce cas, mais sans transaction et avec une base de données accès, essaye de faire une comparaison, voilà le code :
########################################
Public Shared Function Inserer(ByVal nom As String, ByVal informations As String, ByVal image As [Byte]())
Try
'Ouverture de la connection.
SupHerbesBibliotheque.Connexion.Open()
Dim querString As String
If image Is Nothing Then
querString = "INSERT INTO Maladies([Nom], [Information], [Image]) VALUES (?, ?, '')"
Else
querString = "INSERT INTO Maladies([Nom], [Information], [Image]) VALUES (?, ?, ?)"
End If
Dim command As New OleDb.OleDbCommand(querString, SupHerbesBibliotheque.Connexion.Connexion)
Dim parNom As New OleDb.OleDbParameter
parNom.ParameterName = "Nom"
parNom.OleDbType = OleDb.OleDbType.VarWChar
parNom.Direction = ParameterDirection.Input
parNom.Value = nom
command.Parameters.Add(parNom)
Dim parInfos As New OleDb.OleDbParameter
parInfos.ParameterName = "Information"
parInfos.OleDbType = OleDb.OleDbType.VarWChar
parInfos.Direction = ParameterDirection.Input
parInfos.Value = informations
command.Parameters.Add(parInfos)
If Not image Is Nothing Then
Dim parImage As New OleDb.OleDbParameter
parImage.ParameterName = "Image"
parImage.OleDbType = OleDb.OleDbType.VarBinary
parImage.Direction = ParameterDirection.Input
parImage.Value = image
command.Parameters.Add(parImage)
End If
command.ExecuteNonQuery()
Return True
Catch ex As Exception
Return False
End Try