Page 1 sur 1

Bizarre vous avez dis Bizarre

Publié : lun. 10/sept./2012 9:14
par microdevweb
Voici une première exemple de code. Ou si en étant sur la première ligne d'une table et en cliquant sur le bouton qui déclenche cette procédure rien ne passe on n'arrive pas à MessageRequester et aucun plantage ni message d'erreur alors que si je suis sur la deuxième ligne de table cela fonctionne?????

Par contre avec le code modifier ci-dessous cela fonctionne????

Code : Tout sélectionner

Procedure Delete_Projet()
  If  GetGadgetState(#Gadget_Historique_Tab_Projet)=-1
    ProcedureReturn 0
  EndIf
  If MessageRequester("Confirmer","Etes-vous certain de vouloir supprimer ce projet et toutes ses taches?",#PB_MessageRequester_YesNo)=#PB_MessageRequester_No
    ProcedureReturn 0
  EndIf
  Protected ID_Project=GetGadgetItemData(#Gadget_Historique_Tab_Projet,GetGadgetState(#Gadget_Historique_Tab_Projet))
  Protected Requet$="DELETE FROM Tache WHERE ID_Project='"+Str(ID_Project)+"'"
  If Not DatabaseUpdate(0,Requet$)
    MessageRequester("Erreur Sqlite",DatabaseError())
    End
  EndIf
  Requet$="DELETE FROM Project WHERE ID_Project='"+Str(ID_Project)+"'"
  If Not DatabaseUpdate(0,Requet$)
    MessageRequester("Erreur Sqlite",DatabaseError())
    End
  EndIf
  Affiche_Tab_Histo_Projet()
EndProcedure
Code modfié

Code : Tout sélectionner

 Procedure Delete_Projet()
  Protected N_Ligne=GetGadgetState(#Gadget_Historique_Tab_Projet)
  If N_Ligne=-1
    ProcedureReturn 0
  EndIf
  If MessageRequester("Confirmer","Etes-vous certain de vouloir supprimer ce projet et toutes ses taches?",#PB_MessageRequester_YesNo)=#PB_MessageRequester_No
    ProcedureReturn 0
  EndIf
  Protected ID_Project=GetGadgetItemData(#Gadget_Historique_Tab_Projet,GetGadgetState(#Gadget_Historique_Tab_Projet))
  Protected Requet$="DELETE FROM Tache WHERE ID_Project='"+Str(ID_Project)+"'"
  If Not DatabaseUpdate(0,Requet$)
    MessageRequester("Erreur Sqlite",DatabaseError())
    End
  EndIf
  Requet$="DELETE FROM Project WHERE ID_Project='"+Str(ID_Project)+"'"
  If Not DatabaseUpdate(0,Requet$)
    MessageRequester("Erreur Sqlite",DatabaseError())
    End
  EndIf
  Affiche_Tab_Histo_Projet()
EndProcedure

Re: Bizarre vous avez dis Bizarre

Publié : lun. 10/sept./2012 10:43
par djes
P'tet dans le 'If Not'. Sinon, fais gaffe à toujours vérifier ce que les gens mettent dans le gadget, là tu risques une injection SQL.