EDBEngineError avec DBase

Résolu
Signaler
Messages postés
14
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2006
-
Messages postés
14
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2006
-
Bonjour,

Voici mon problème :
Dans un OnChange d'un Edit, je me connecte à une base de données Dbase en utilisant le pilote Standart, j'ouvre un TQuery, je remplis un combobox, je referme le TQuery.
Dans un bouton, je passe en paramètre, dans un Tquey différent, le text du combobox mais à l'ouverture du Tquery j'ai un message EDBEngineError "la table est occupée, Violation de partage. Fichier : C:\CDBASE.DBF'.

voici un partie du code :

Dans le OnChange:
DB_visage_bornage.Close;
DB_visage_bornage.Params.Clear;
DB_visage_bornage.Params.Add('PATH=' + ExtractFilePath(E_emplacement.Text));
DB_visage_bornage.Params.Add('ENABLE BCD=FALSE');
DB_visage_bornage.Params.Add('DEFAULT DRIVER=DBASE');
DB_visage_bornage.Open;
Q_routeBorn.Close;
Q_routeBorn.Open;
CB_Route.Clear;
while not Q_routeBorn.Eof do
Begin
CB_route.Items.Add(Q_routeBorn.FieldByName ('Route').AsString);
Q_routeBorn.Next;
end;
Q_routeBorn.Close;

Dans le OnClick :
route := CB_Route.Text;
Q_bornage.Params.ParamValues['route'] := route;
Q_bornage.Close;
Q_bornage.Open; //C'est ici que ça plante !!
Q_bornage.First;
While not Q_bornage.Eof do ...

Est ce que quelqu'un quelque part aurait quelque chose à me dire pour m'aider SVP

merci

respect robustesse!

3 réponses

Messages postés
14
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2006

Hola prêt d'un an apres je reviens escusez d'avoir oublié ce post. Evidement j'avais ouvert quelque part et pas refermer la connection par la suite Alors que je demandais une réouverture.


respect robustesse
Messages postés
148
Date d'inscription
lundi 3 février 2003
Statut
Membre
Dernière intervention
1 février 2006

Essaie de fermer a la fin de ton OnChange ;)

Sinon tu pourrais utiliser des Try ...Except on EDBEngineError do ... pour eviter tte erreur possible :big)
Messages postés
14
Date d'inscription
jeudi 9 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2006

Y'a un truc qui m'échape: j'ai fais copier coller de
"route := CB_Route.Text;
Q_bornage.Params.ParamValues['route'] := route;
Q_bornage.Close;
Q_bornage.Open; "

dans le onchange du combobox et ça fonctionne. Pourquoi?
Ca veut dire quoi exactement la table est occupée? Moi je suis persuadé que les Tquery sont fermés. Je ne vais pas fermer et réouvrir la connection a "DB_visage_bornage" à chaque fois que je veux ouvrir un Tquery c'est pas normal!

Tu veux que je ferme quoi à la fin de mon onchange?

respect robustesse!