-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
ensuite tu utilises les méthodes Commit() et RollBack de
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
news: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows(0)
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
cnnOLEDB.Close()
dstDivers = Nothing
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
ensuite tu utilises les méthodes Commit() et RollBack de
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" <anonymous@discussions.microsoft.com> a écrit
news: 406301c4aa1a$d5fa9fa0$a601280a@phx.gbl...
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows(0)
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
cnnOLEDB.Close()
dstDivers = Nothing
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
ensuite tu utilises les méthodes Commit() et RollBack de
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
news: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows(0)
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
cnnOLEDB.Close()
dstDivers = Nothing
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
ensuite tu utilises les méthodes Commit() et RollBack de
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
news: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows(0)
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
cnnOLEDB.Close()
dstDivers = Nothing
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
ensuite tu utilises les méthodes Commit() et RollBack de
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" <anonymous@discussions.microsoft.com> a écrit
news: 406301c4aa1a$d5fa9fa0$a601280a@phx.gbl...
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows(0)
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
cnnOLEDB.Close()
dstDivers = Nothing
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
ensuite tu utilises les méthodes Commit() et RollBack de
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
news: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows(0)
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
cnnOLEDB.Close()
dstDivers = Nothing
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
-----Message d'origine-----
Si tu utilises un objet command, tu dois lui assigner la
faisant
MaCommand.Transaction=txnOLEDB
Amicalement
"Annie" a écrit
news: 278d01c4aae4$0914ccc0$
J'ai fait un test et cela me génère une erreur :
Execute requiert que la commande ait un objet transaction
lorsque la connexion assignée à la commande se trouve dans
une transaction locale en attente. La propriété
Transaction de la commande n'a pas été initialisée.
Le no. de ligne de l'erreur de situe lorsque que je
remplit mon dataset avec mon OleDbAdapter.
J'ai besoin d'explication concernant cette erreur.
J'ai modifié mon code ci-dessous pour que vous puissiez
m'aider. Merci!-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as
()ensuite tu utilises les méthodes Commit() et RollBack de
l'objet txnOLEDB.
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
dans le message denews: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
TryadaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
txnOLEDB.Commit()
Catch ......
txnOLEDB.Rollback()
FinallycnnOLEDB.Close()
dstDivers = Nothing
End Try
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
.
-----Message d'origine-----
Si tu utilises un objet command, tu dois lui assigner la
faisant
MaCommand.Transaction=txnOLEDB
Amicalement
"Annie" <anonymous@discussions.microsoft.com> a écrit
news: 278d01c4aae4$0914ccc0$a501280a@phx.gbl...
J'ai fait un test et cela me génère une erreur :
Execute requiert que la commande ait un objet transaction
lorsque la connexion assignée à la commande se trouve dans
une transaction locale en attente. La propriété
Transaction de la commande n'a pas été initialisée.
Le no. de ligne de l'erreur de situe lorsque que je
remplit mon dataset avec mon OleDbAdapter.
J'ai besoin d'explication concernant cette erreur.
J'ai modifié mon code ci-dessous pour que vous puissiez
m'aider. Merci!
-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as
()
ensuite tu utilises les méthodes Commit() et RollBack de
l'objet txnOLEDB.
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 406301c4aa1a$d5fa9fa0$a601280a@phx.gbl...
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
Try
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
txnOLEDB.Commit()
Catch ......
txnOLEDB.Rollback()
Finally
cnnOLEDB.Close()
dstDivers = Nothing
End Try
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
.
-----Message d'origine-----
Si tu utilises un objet command, tu dois lui assigner la
faisant
MaCommand.Transaction=txnOLEDB
Amicalement
"Annie" a écrit
news: 278d01c4aae4$0914ccc0$
J'ai fait un test et cela me génère une erreur :
Execute requiert que la commande ait un objet transaction
lorsque la connexion assignée à la commande se trouve dans
une transaction locale en attente. La propriété
Transaction de la commande n'a pas été initialisée.
Le no. de ligne de l'erreur de situe lorsque que je
remplit mon dataset avec mon OleDbAdapter.
J'ai besoin d'explication concernant cette erreur.
J'ai modifié mon code ci-dessous pour que vous puissiez
m'aider. Merci!-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as
()ensuite tu utilises les méthodes Commit() et RollBack de
l'objet txnOLEDB.
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
dans le message denews: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
dim txnOLEDB as OleDbTransaction=cnnOLEDB.BeginTransaction
TryadaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?", cnnOLEDB)
adaOLEDB.SelectCommand.Parameters.Add("@strCodeIDDivers",
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
txnOLEDB.Commit()
Catch ......
txnOLEDB.Rollback()
FinallycnnOLEDB.Close()
dstDivers = Nothing
End Try
J'aimerais avoir une meilleure méthode que celle que j,ai
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
.
-----Message d'origine-----
Je connais cette méthode, c'est la seule exemple qu'on a!
Regardez plus bas, je n'utilise pas d'objet 'Command'
comme vous le mentionnez! Mais plutôt un
objet 'SelectCommand'. Alors comment puis-je adapter une
transaction dans ce cas-ci!
C'est ça que je voudrais savoir! J'ai rajouté du code
(voir plus bas) pour utiliser une 'Transaction' et je
voudrais savoir si c'est correct, car ça plante!!!
Merci de votre aide!-----Message d'origine-----
Si tu utilises un objet command, tu dois lui assigner la
connection enfaisant
MaCommand.Transaction=txnOLEDB
Amicalement
"Annie" a écrit
dans le message denews: 278d01c4aae4$0914ccc0$
J'ai fait un test et cela me génère une erreur :
Execute requiert que la commande ait un objet transaction
lorsque la connexion assignée à la commande se trouve
une transaction locale en attente. La propriété
Transaction de la commande n'a pas été initialisée.
Le no. de ligne de l'erreur de situe lorsque que je
remplit mon dataset avec mon OleDbAdapter.
J'ai besoin d'explication concernant cette erreur.
J'ai modifié mon code ci-dessous pour que vous puissiez
m'aider. Merci!-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as
OleDbTransaction=cnnOLEDB.BeginTransaction()ensuite tu utilises les méthodes Commit() et RollBack de
l'objet txnOLEDB.
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
dans le message denews: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
dim txnOLEDB as
TryadaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?",
adaOLEDB.SelectCommand.Parameters.Add
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows
(0)drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
txnOLEDB.Commit()
Catch ......
txnOLEDB.Rollback()
FinallycnnOLEDB.Close()
dstDivers = Nothing
End Try
J'aimerais avoir une meilleure méthode que celle que
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
.
.
-----Message d'origine-----
Je connais cette méthode, c'est la seule exemple qu'on a!
Regardez plus bas, je n'utilise pas d'objet 'Command'
comme vous le mentionnez! Mais plutôt un
objet 'SelectCommand'. Alors comment puis-je adapter une
transaction dans ce cas-ci!
C'est ça que je voudrais savoir! J'ai rajouté du code
(voir plus bas) pour utiliser une 'Transaction' et je
voudrais savoir si c'est correct, car ça plante!!!
Merci de votre aide!
-----Message d'origine-----
Si tu utilises un objet command, tu dois lui assigner la
connection en
faisant
MaCommand.Transaction=txnOLEDB
Amicalement
"Annie" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 278d01c4aae4$0914ccc0$a501280a@phx.gbl...
J'ai fait un test et cela me génère une erreur :
Execute requiert que la commande ait un objet transaction
lorsque la connexion assignée à la commande se trouve
une transaction locale en attente. La propriété
Transaction de la commande n'a pas été initialisée.
Le no. de ligne de l'erreur de situe lorsque que je
remplit mon dataset avec mon OleDbAdapter.
J'ai besoin d'explication concernant cette erreur.
J'ai modifié mon code ci-dessous pour que vous puissiez
m'aider. Merci!
-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as
OleDbTransaction=cnnOLEDB.BeginTransaction
()
ensuite tu utilises les méthodes Commit() et RollBack de
l'objet txnOLEDB.
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 406301c4aa1a$d5fa9fa0$a601280a@phx.gbl...
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.
cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
dim txnOLEDB as
Try
adaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?",
adaOLEDB.SelectCommand.Parameters.Add
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows
(0)
drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
txnOLEDB.Commit()
Catch ......
txnOLEDB.Rollback()
Finally
cnnOLEDB.Close()
dstDivers = Nothing
End Try
J'aimerais avoir une meilleure méthode que celle que
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
.
.
-----Message d'origine-----
Je connais cette méthode, c'est la seule exemple qu'on a!
Regardez plus bas, je n'utilise pas d'objet 'Command'
comme vous le mentionnez! Mais plutôt un
objet 'SelectCommand'. Alors comment puis-je adapter une
transaction dans ce cas-ci!
C'est ça que je voudrais savoir! J'ai rajouté du code
(voir plus bas) pour utiliser une 'Transaction' et je
voudrais savoir si c'est correct, car ça plante!!!
Merci de votre aide!-----Message d'origine-----
Si tu utilises un objet command, tu dois lui assigner la
connection enfaisant
MaCommand.Transaction=txnOLEDB
Amicalement
"Annie" a écrit
dans le message denews: 278d01c4aae4$0914ccc0$
J'ai fait un test et cela me génère une erreur :
Execute requiert que la commande ait un objet transaction
lorsque la connexion assignée à la commande se trouve
une transaction locale en attente. La propriété
Transaction de la commande n'a pas été initialisée.
Le no. de ligne de l'erreur de situe lorsque que je
remplit mon dataset avec mon OleDbAdapter.
J'ai besoin d'explication concernant cette erreur.
J'ai modifié mon code ci-dessous pour que vous puissiez
m'aider. Merci!-----Message d'origine-----
Bonjour Annie,
Il te faut utiliser l'objet OledbTransaction comme ceci.
.......
.......
cnnOLEDB.Open()
dim txnOLEDB as
OleDbTransaction=cnnOLEDB.BeginTransaction()ensuite tu utilises les méthodes Commit() et RollBack de
l'objet txnOLEDB.
txnOLEDB.Commit()
.....
txnOLEDB.RollBack()
A+
Eric Vernié
Microsoft France
"Annie" a écrit
dans le message denews: 406301c4aa1a$d5fa9fa0$
J'aimerais me servir de 'BeginTransaction', 'Commit'
et 'Rollback' dans la gestion de mes bases de données.
Voici une partie de mon code pour avoir une manière de
procéder.cnnOLEDB.ConnectionString = gFournisseurDonneesCie
cnnOLEDB.Open()
dim txnOLEDB as
TryadaOLEDB.SelectCommand = New OleDbCommand("SELECT * FROM
UtilisateurDivers WHERE CodeIDUtilisateur = ?",
adaOLEDB.SelectCommand.Parameters.Add
OleDbType.VarChar, 25)
adaOLEDB.SelectCommand.Parameters
("@strCodeIDDivers").Value = gstrCodeUtilisateur
cmbOLEDB = New OleDbCommandBuilder(adaOLEDB)
dstDivers.Clear()
adaOLEDB.Fill(dstDivers, "UtilisateurDivers")
If dstDivers.Tables("UtilisateurDivers").Rows.Count > 0
Then
drwRangee = dstDivers.Tables("UtilisateurDivers").Rows
(0)drwRangee.BeginEdit()
drwRangee.Item("DbGridCategClient") = strEcritureCols
drwRangee.EndEdit()
adaOLEDB.Update(dstDivers, "UtilisateurDivers")
End If
txnOLEDB.Commit()
Catch ......
txnOLEDB.Rollback()
FinallycnnOLEDB.Close()
dstDivers = Nothing
End Try
J'aimerais avoir une meilleure méthode que celle que
trouvée, car elle ne fonctionne pas du tout.
Merci de vos réponse!
.
.
.