Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Verrouillage fichier Access

1 réponse
Avatar
Jmb
Bonjour,

J'ai une petite application qui, toutes les 10 secondes, ajoute un groupe de
lignes dans une table Access avec la fonction :

void Archive()
{
Event ev;
OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();
while( (ev=GetEvent())!=null )
ev.Insert(conn);
conn.Close();
}

Lors des premiers appels Archive() tout se passe bien, ma table n'est pas
verrouillée, après j'observe qu'un fichier .ldb est créé et ma table est
verrouillée jusqu'à ce que l'application se ferme.
Les lignes sont bien insérées dans la table mais comment éviter de
verrouiller le fichier Access? j'ai essayé de remplacer Close() par Dispose()
mais ça ne change rien.

Contexte: Framework 1.1, format de fichier Access 2002-2003

Merci.

1 réponse

Avatar
Paul Bacelar
Utilisez
using(OleDbConnection conn = new OleDbConnection(ConnectionString))
{
}

ou encore

try
{
...
}
finaly
{
}

Le code sera plus fiable et peut-être corrigera le problème.
--
Paul Bacelar
MVP VC++

"Jmb" wrote in message
news:
Bonjour,

J'ai une petite application qui, toutes les 10 secondes, ajoute un groupe
de
lignes dans une table Access avec la fonction :

void Archive()
{
Event ev;
OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();
while( (ev=GetEvent())!=null )
ev.Insert(conn);
conn.Close();
}

Lors des premiers appels Archive() tout se passe bien, ma table n'est pas
verrouillée, après j'observe qu'un fichier .ldb est créé et ma table est
verrouillée jusqu'à ce que l'application se ferme.
Les lignes sont bien insérées dans la table mais comment éviter de
verrouiller le fichier Access? j'ai essayé de remplacer Close() par
Dispose()
mais ça ne change rien.

Contexte: Framework 1.1, format de fichier Access 2002-2003

Merci.