EDBEngineError avec DBase

Résolu
goloa Messages postés 14 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 septembre 2006 - 30 juin 2004 à 09:47
goloa Messages postés 14 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 septembre 2006 - 25 août 2005 à 10:38
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

goloa Messages postés 14 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 septembre 2006
25 août 2005 à 10:38
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
3
TheShAmAn Messages postés 148 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 1 février 2006
30 juin 2004 à 10:35
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)
0
goloa Messages postés 14 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 septembre 2006
30 juin 2004 à 11:32
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!
0
Rejoignez-nous