Bonjour, j'ai 3 tables:
et 2 pages web :commande: reference (primary key), reference_projet(int), responsable (varchar(50)), acheteur (varchar(50))
projet: reference (primary key, qui est commande.reference_projet), nom (varchar(50))
utilisateur: nom(varchar(50)), reference_projet (int), role ('acheteur', 'responsable', 'demandeur', 'administrateur')
Un projet peut avoir plusieurs utilisateurs avec différents rôles, plus un utilisateur 'AdminAchat' (role Administrateur) par défaut.commande: 2 dropdownlists 'responsable' & 'acheteur'
projet: gridview de la table utilisateur (nom, reference_projet), avec la commande 'supprimer' pour chaque ligne
Dans la page commande on peut choisir 1 responsable & 1 acheteur (pour le dropdownlist "responsable": SELECT distinct([Nom]) FROM [Utilisateur] where [Reference Projet]=@Reference_projet and (Role='Responsable' or Role='Administrateur'))
Dans page Projet, on supprime l'utilisateur qui a été choisi dans le dropdownlist "Responsable" (ou "Acheteur") d'une commande, la commande remplace le responsable supprimé par 'AdminAchat' comme suit:
Le problème se pose quand je supprime 2 utilisateurs qui ont été choisi en tant que Responsable et Acheteur d'une même commande, il met :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 update Commande set Responsable='ADMINACHAT' where [Reference] in (select [Reference] from Commande where Responsable=@Nom and [Reference Projet]=@reference_projet) update Commande set Acheteur='ADMINACHAT' where [Reference] in (select [Reference] from Commande where Acheteur=@Nom and [Reference Projet]=@reference_projet) DELETE FROM [Utilisateur] WHERE [Nom] = @Nom and [Reference projet]=@reference_projet and @Nom <> 'ADMINACHAT'
c'est-à-dire:'"L'argument spécifié n'était pas dans les limites de la plage des valeurs valides.Nom du paramètre : value"
Ex1: Page commande: Commande 1: Responsable choisi 'A', Acheteur choisi 'AdminAchat'
Commande 2: Responsable choisi 'AdminAchat', Acheteur choisi 'B'
Page Projet: supprime 'A', OK. Puis supprime 'B', OK
Ex2: Page commande: Commande 3: Responsable choisi 'A', Acheteur choisi 'B'
Page Projet: supprime 'A', OK. Puis supprime 'B', NOK (L'argument spécifié n'était pas dans les limites de la plage des valeurs valides. Nom du paramètre : value)
Pourquoi cette différence? Merci de vos aides
Partager