Bonjour,
J'utilise cette fonction pour me connecter à une BDD SQLite sur OOo1.1.5 .
Elle est censé ouvrir une transaction, hors, à plusieurs reprise, des
plantages m'ont montrés que des insertions avaient eu lieux et que
d'autres qui faisaient partie de la même transaction 'apparaissaient pas.
Si vous avez une idée???
Merci,
Ludo
'Se connecte à une source de données
Function ConnecterSource(NomSource as String) as Object
Dim maSource As Object, monDbContext As Object, demandePasse as Object
dim k as object
'Création du contexte
monDbContext = CreateUnoService( _
"com.sun.star.sdb.DatabaseContext")
maSource=monDbContext.getByName(NomSource)
'Les paramètres de connexion
Select Case maSource.IsPasswordRequired
Case true
demandePasse =
CreateUnoService("com.sun.star.sdb.InteractionHandler")
ConnecterSource = maSource.connectWithCompletion(demandePasse)
Case false
ConnecterSource = maSource.getIsolatedConnection(login, password)
End Select
ConnecterSource.autoCommit = false
if IsNull(ConnecterSource) then
MsgBox("Connexion impossible",16)
End if
End Function
Pour me déconnecter, j'utilise celle-ci:
'Si i est a 0, pas de confirmation
Sub DeconnecterSource(maConnexion as Object, i as Integer)
if i = 0 then
maConnexion.Commit
else
if MsgBox("Êtes-vous sûre?",32+4)=6 then
maConnexion.Commit
else
maConnexion.rollback
end if
end if
maConnexion.autoCommit = true
maConnexion.close
maConnexion.dispose
End Sub