Supprimer tout les données d'une table à l'aide Adoquery

nn2009 Messages postés 14 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 14 novembre 2011 - 25 oct. 2011 à 11:35
nn2009 Messages postés 14 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 14 novembre 2011 - 14 nov. 2011 à 11:29
Bonjour,
voila j'ai une table que j'utilise comme table intermediaire cad des que je termine on travail je supprime tout les données d cette table, pour cela j'ai utiliser un Adoquery, voici mon code:
adoquery1.sql.text:='delete ordint';
adoquery1.prepared:=true;
adoquery1.active:=true;
adoquery1.execsql;
adoquery1.close;

j'ai l'erreur suivante : Adoquery1: Commandtext ne renvoie pas un ensemble de résultats.
merci pour votre aide

3 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
26 oct. 2011 à 09:50
Bonjour,

plus simplement :
Delete from NomDeTable;



cantador
0
cs_jjgone Messages postés 7 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 16 mai 2013
12 nov. 2011 à 18:49
Bonjour,

l'erreur : "Commandtext ne renvoie pas un ensemble de résultats."
signifie que l'instruction ne renvoie pas de résultats contrairement à SELECT par exemple.
En conséquence, il ne faut pas mettre adoquery1.active à True.
Mais il y a effectivement une première erreur dans l'instruction DELETE, comme le dit
Cantador l'instruction sql est DELETE FROM NomTable

Le code pour effacer les données peut ressembler à celui-ci :

{Création d'un TADOQuery à la volée}
with TADOQuery.Create(nil) do
begin
  try
    {ADoConnection1 est un TADOConnection connecté sur la base dans laquelle se trouve la table ordint}	
    Connection := ADOConnection1;
    SQL.Text := 'DELETE FROM ordint';
    Prepared := True;
    {ExecSQL renvoie le nombre de lignes suppimées, on peut l'utiliser pour afficher un message}
    ExecSQL;
  except
    on E: Exception do
      {Renvoie le message d'erreur}
      MessageDlg(E.Message, mtError, [mbOK], 0);
  end;
  {Libère le TADOQuery}
  Free;
end;


Voila, il ne reste plus qu'à coder.
0
nn2009 Messages postés 14 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 14 novembre 2011 1
14 nov. 2011 à 11:29
merci pour votre aide j'ai bien compris mon erreur
0
Rejoignez-nous