EDBEngineError avec DBase [Résolu]

goloa 17 Messages postés jeudi 9 octobre 2003Date d'inscription 7 septembre 2006 Dernière intervention - 30 juin 2004 à 09:47 - Dernière réponse : goloa 17 Messages postés jeudi 9 octobre 2003Date d'inscription 7 septembre 2006 Dernière intervention
- 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!
Afficher la suite 

Votre réponse

3 réponses

goloa 17 Messages postés jeudi 9 octobre 2003Date d'inscription 7 septembre 2006 Dernière intervention - 25 août 2005 à 10:38
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de goloa
TheShAmAn 148 Messages postés lundi 3 février 2003Date d'inscription 1 février 2006 Dernière intervention - 30 juin 2004 à 10:35
0
Utile
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)
Commenter la réponse de TheShAmAn
goloa 17 Messages postés jeudi 9 octobre 2003Date d'inscription 7 septembre 2006 Dernière intervention - 30 juin 2004 à 11:32
0
Utile
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!
Commenter la réponse de goloa

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.