Pb de transaction

Résolu
medbabs Messages postés 38 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 12 janvier 2011 - 12 juil. 2007 à 11:45
cs_JACKY007 Messages postés 23 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 1 décembre 2010 - 1 déc. 2010 à 16:44
Bonjour
j'ai un pb avec l'instruction ExecuteNonQuery ,je l'ai mis dans un bloc try et à l'execution il m'affiche le message suivant (sachant que j'ai démarré une transaction avant l'appel de ExecuteNonQuery )
:  ExecuteNonQuery implique que la commande comporte une transaction lorsque la connexion attribuée à la commande se trouve dans une transaction locale en attente. La propriété Transaction de la commande n'a pas été initialisée.

merci
A voir également:

4 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
12 juil. 2007 à 12:23
Salut,

Il faut que tu affectes ta transaction a la propriété Transaction de ton objet command

Mx
MVP C# 
3
Evil_Gouki_X Messages postés 19 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 22 mai 2010 1
5 nov. 2007 à 03:17
Salut a tous

alors je tiens a dire que moi aussi j'ai eu le meme probleme et que je ne comprenais pas trop ce que voulais dire MorpionMx.
donc pour tous mes autres freres novice qui auront peut etre le meme probleme que moi je precise en donnant mon exemple :

si vous avez le meme probleme que moi c'est que vous avez oublie la commande de connection que j'ai mis en rouge.

private void cmdValidate_Click(object sender, EventArgs e)
        {
            string connect = "Data Source=(local);Initial Catalog=TESTSHARP;User Id=sa;Password=Diamond";
            System.Data.SqlClient.SqlCommand myquery;
            System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection(connect);
            string sqlorder = "INSERT INTO BUYPRODUCT VALUES('0004','MALAD','VAVAL',18,20,'bombance','20070925','FCK_DA','STONE','TANIMA')";


            try
            {
                myConnection.Open();
                myquery = new System.Data.SqlClient.SqlCommand(sqlorder,myConnection);


                myquery.ExecuteNonQuery();
                MessageBox.Show("connection OK!!!");
                myConnection.Close();
                
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ú‘±Ž¸”s!!!!" + ex.Message);
                myConnection.Close();
            }
                
        }


voili voilou.
a tout a l'heure (oui je sais que j'aurai des questions dans quelques minutes )
1
medbabs Messages postés 38 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 12 janvier 2011
12 juil. 2007 à 16:59
merci ,en effet c'était ça le pb
0
cs_JACKY007 Messages postés 23 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 1 décembre 2010
1 déc. 2010 à 16:44
Excuse moi Evil_Gouki_X : mais je pense que tu ne dois pas savoir se qu'est une transaction...
Il est nécessaire d'initialiser la transaction au niveau de la connexion (avec le niveau d'isolation).
Puis initialiser la commande avec.
Puis finalement effectuer un Commit ou RollBack sur la connexion

Ce que tu fais ne permet pas de garantir l'intégrité de tes données car elles sont envoyées au fil de l'eau !

Jac la menace
0
Rejoignez-nous