Dans mon application j'ai utilisé une requête SQL de suppression : delete from detaille_aff_v where qte_a_livr=0 mais il me donne l'erreur "unable to create handle'. Quelqu'un peut m'aider ? J'utilise Delphi 7.
Dans mon application j'ai utilisé une requête SQL de suppression : delete from detaille_aff_v where qte_a_livr=0 mais il me donne l'erreur "unable to create handle'. Quelqu'un peut m'aider ? J'utilise Delphi 7.
Quelle est la base de donnée, comment t'y connectes-tu, et avec quels composants ?
Avant cette suppression, as-tu vérifié si la base était correctement connectée ?
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
je utilise paradox 7 ,delphi 7 , outil dabase.
je configurer la conection par code
je suis pas un pro comme vous mon ami je suis un debutans
les composants :
table ,query, dbgrid ; datasource.
j'ai programme l'activation de labase avec un composant checkbox .
j'ai chercher pour maitre des fichier ini pour me ficile le travaille mes j'arive pas a la fait maleresment il-nya pas des toto pour sa et des les exemplaire
vrement merci pour ta passe et si tu a la moindre aide j'ai rivi de la recu.
si tu a question pour te comprandre pose les pour me aide
Bonjour,
soit il manque un TDatabase pour que la TQuery soit lié à ce dernier, soit vous avez utilisé Open au lieu de ExecSQL
traduction, "mon programme active la base avec un composant checkbox ?"j'ai programme l'activation de labase avec un composant checkbox .
dans ce cas le TDatabase y serait ....
le mieux serait quand même de voir le code
pour donner un exemple, avec une création de la Query au runtime :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 var AQuery : TQuery; begin AQuery:=TQuery.Create(nil); try AQUery.DataBase:=TDatabase1; // ce qu'il doit manquer AQUery.Text:='delete from detaille_aff_v where qte_a_livr=0'; AQuery.ExecSQL; // à moins que l'erreur soit d'avoir utilisé AQuery.Open ou AQuery.Active:=True; finally AQuery.Free; end;autre question = autre postj'ai chercher pour maitre des fichier ini pour me ficile le travaille mes j'arive pas a la fait maleresment il-nya pas des toto pour sa
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
merci infiniment SergioMaster j'orai utilise votre aideé et je te donne la réponce a result
sa fonctionne mai apres fermeture de la forme et l'activer sa applique .
Bonjour,
le moins que l'on puisse dire ce que votre réponse n'est pas très claire ! je sais qu'il y a un problème de langue mais quand même ! et encore une fois mettez dans votre message la partie du code qui vous semble erronnée
s'il s'agit du fait que la suppression par SQL ne se voit pas tout de suite à l'écran (DBGRID) et que cette dernière n'est visible qu'après avoir fermer/réouvert le programme ou la forme c'est tout à fait normal. Vous affichez un ensemble de données à l'écran, faire une modification (suppression) directement sur la table n'a aucune incidence sur cet ensemble SAUF SI vous rafraichissez ensuite ce dernier.
Après la suppression par SQL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 var ABookMark : TBookMark; ... begin // suppression ABookmark:=Table1.GetBookMark; // mémoriser la position par un bookmark Table1.DisableControls; // désactiver la grille Table1.Refresh; // rafraichir l'ensemble de données try Table1.GotoBookmark(ABookMark); except end; // se repositionner si besoin Table1.EnableControls; // réactiver la grille ... end;
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager