Creation dynamique de boutons radio associé à une base de données

SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 - 21 déc. 2009 à 13:43
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 - 23 déc. 2009 à 14:57
Bonjour,

Pour être le plus clair possible je vous montre directement ce que je produis, voici ma page :

http://img189.imageshack.us/i/adminqu.jpg/

Dans les colonnes Valider et Refuser du premier tableau je souhaite insérer des checkbox et dans les colonnes Disponible et Indisponible du second tableau je souhaites inserer des boutons radio.

Comme mes lignes de tableaux sont créer en fonction du nombre de résultats à afficher je souhaite créer ces contrôles dynamiquement dans mon code C# (la page est en ASP/C#). Le hic c'est que chaque bouton créer doit avoir un nom unique et pour faire ca dynamiquement je ne vois pas. (RadioButton bouton+i = new RadioButton(); ne fontionnant évidemment pas).

Donc ma premiere question est comment créer tout ces contrôles dynamiquement ?

voici le code de mon second tableau :

_command.CommandText "SELECT PRM_libelle, PRM_code FROM appli_prm WHERE (PRM_pervalid1 '" + Matricule + "' OR PRM_Pervalid2 = '" + Matricule + "' OR PRM_Pervalid3 = '" + Matricule + "') ORDER BY PRM_code, PRM_libelle ASC";
                    reader = _command.ExecuteReader();

                    Label label2 = new Label();
                    PanelCorpsRessources.Controls.Add(label2);
                    label2.Text = " Nom  |TypeDisponible |Indisponible\";

int i  = 1;

while (reader.Read())
{
string ressource = reader.GetString(0);
string typeRessource = reader.GetString(1);

label2.Text += \"----
" + ressource + ", \" + typeRessource + \"" + ", \";
}

                    label2.Text += "
";

                    reader.Close();


Ma deuxième question est comment associer les contrôles aux lignes concernées de ma bdd ? Par exemple si l'utilisateur sélectionne indisponible pour la ressource JUMPY que ca aille modifier la valeur de la colonne disponible dans ma table des ressources.

27 réponses

SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
21 déc. 2009 à 13:45
Le rendu de mon image n'est pas comme je pensais, si un admin pourrai juste mettre le lien de l'image, je suis désolé.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
21 déc. 2009 à 15:50
Salut

Première question : utilises-tu un contrôle asp pour générer ton tableau ?
Etant donné que tu n'en parles pas, je suppose que la réponse est non.

chaque bouton créer doit avoir un nom unique et pour faire ca dynamiquement je ne vois pas. (RadioButton bouton+i = new RadioButton(); ne fontionnant évidemment pas).

Chaque bouton créé doit avoir un identifiant unique, pas un nom unique. 2 solutions : soit tu utilises une variable qui est détruite en dehors de ta boucle, soit tu utilises une liste.

1ere solution :
while(reader.Read())
{
    //blablabla
    RadioButton bouton1 = new RadioButton();
    //blablabla
}


2eme solution
List<RadioButton> liste = new List<RadioButton>();
int i = 0;
while(reader.Read())
{
    //blablabla
    liste.Add(new RadioButton());
    // Là, tu peux utiliser liste[i].machin = qqche
    i++;
}


Tu peux également choisir leur identifiant :
liste[i].ID = "monRadioButton"+reader.Get(2);

Et après utiliser la méthode
FindControl("monRadioButton"+reader.Get(2);


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
21 déc. 2009 à 16:07
Pour la 1ere question la réponses est non car comme tu peux le voir dans mon code, je crée un tableau html que j'insère dans un label
label2.Text = "<table><tr><th>Nom<th>Type<th class='dispo'>Disponible<th class='dispo'>Indisponible";


La première solution je ne pense pas que ca pourrait fonctionner dans mon cas, puisque je souhaite récupérer les valeurs des boutons radio ensuite, non ?

Si je prend la seconde solution, je crée donc une liste de boutons, ensuite je leur donne un id comme tu m'as dis. Et en faisant comme ça je peux facilement faire correspondre mes boutons aux lignes de ma table sql, vrai ?

Je t'avoue que c'est encore brouillon dans ma tête (surtout la solution 1 je vois pas comment ca pourrait fonctionner).
Il faut que j'essaye de coder ca pour mieux comprendre le fonctionnement.

De plus j'ai essayer d'ajouter un bouton radio tout bête sans boucle à mon tableau et ca m'affiche ca dans la colonne : System.Web.UI.WebControls.RadioButton

Au lieu d'afficher un bouton radio, c'est normal ?

j'ai fait ca (juste comme test)

RadioButton bouton = new RadioButton();
                    while (reader.Read())
                    {
                        string ressource = reader.GetString(0);
                        string typeRessource = reader.GetString(1);

                        label2.Text += "<tr><td>" + ressource + "<td>" + typeRessource + "<td>" + bouton + "<td>";
                    }

0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
21 déc. 2009 à 17:38
De plus j'ai essayer d'ajouter un bouton radio tout bête sans boucle à mon tableau et ca m'affiche ca dans la colonne : System.Web.UI.WebControls.RadioButton
Au lieu d'afficher un bouton radio, c'est normal ?
Oui, c'est normal, c'est la méthode "ToString()" qui est appelée. Pour que ça marche, il faut ajouter ton bouton à un contrôle intégré à la page (monWebControl.Controls.Add(monRadioButton));

Une autre possibilité simple est d'ajouter le code html à la main
""

Et après utiliser Request["radioButtonId" + idDeLElement].ToString();

Mais de toutes façons, c'est vraiment dommage de faire de l'ASP.net et de ne pas en profiter. Tu as un contrôle qui s'appelle GridView qui sert à faire des tableaux. Ce contrôle te permet de gérer facilement les en-têtes, la pagination, le tri, l'édition, la suppression, les actions sur 1 ligne...
Vu que tu ne connais pas le composant, ça te prendra peut-être un peu plus de temps. Mais ton code sera plus performant, beaucoup plus lisible, beaucoup plus facile à maintenir.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
21 déc. 2009 à 17:50
Ok je vais voir pour faire ca dans un GridView tu as raison. C'est juste que au début j'avais essayer avec un élément Table de ASP mais ca doit pas être le bon composant qu'il me faut.
Je vais donc faire comme tu me proposes, et voir si j'arrive au résultat que je désire. Je te tiens au courant. Merci.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
21 déc. 2009 à 18:30
Si tu as des questions sur ce contrôle, hésite pas à les poser (après avoir fait un minimum de recherches) sur le forum www.aspfr.com, qui sera plus approprié.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
22 déc. 2009 à 09:41
Je pense que je vais continuer sur un simpl tableau html :/

Car mon GridView doit se baser sur un ObjectDataSource qui s'appuie lui même sur une requête SQL contenue dans une méthode de classe. Dans cette classe j'ai les champs concernant ma table reservation mais là vu que je fait des jointures, que j'ai besoin d'autres champs d'autres tables ca complique un peu le tout et je me perds :s

Je dois pas être clair mais c'est surement car c'est confu dans ma tête ^^

Si je peux réussir à faire cela dans mon tableau HTML ca ira. Le problème est surtout que j'ai peur de ne pas fini mon projet de stage dans les temps si je perds un temps fou avec le GridView.

J'essaye donc d'ajouter mes contrôles (boutons) à mon tableau initiale et d'aller modifier ma bdd selon leurs états.

We'll see.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
22 déc. 2009 à 10:39
Tu n'es pas obligé d'utiliser un ObjectDataSource. Tu peux par exemple utiliser simplement une List<CeQueTuVeux>
class Machin
{
    public int Id { get; set; }
    public string Texte { get; set; }
    public string Ville { get; set; }
}

List<Machin> maListe = maCoucheDAccesAuxDonnees.GetListeDansLaVille("Paris");
maGridView.DataSource = maListe;
maGridView.DataBind();


Et dans ton code aspx, tu ajoutes manuellement les colonnes en précisant que la source de la première c'est la propriété Id et la source de la deuxième, c'est la propriété Texte (par exemple), et ainsi de suite. Ça c'est très facile à faire en mode design.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
22 déc. 2009 à 14:36
Ok ok. J'ai tout de même continué sur le tableau html . Et j'ai créer mes boutons en ajoutant le code html à la main comme tu disais plus haut. Et j'ajouter un bouton valider (html et non asp comme mes controles sont des controles html) cependant je dois faire des modifs dans ma base de données quand l'utilisateur valide ses choix, je l'aurai bien fait avec l'appel par le onclick d'une fonction C# mais comme mon bouton est un bouton html je ne peux pas :( . A ma connaissance le onclick d'un bouton html ne peut se réferer qu'à une fonction Javascript. Donc pas possible de modif ma bdd comme cela ?
Dois-je obligatoirement avoir des controles ASP pour pouvoir le faire ?

ps : si je te demande ça ici krimog c'est que le peu que j'ai posté sur aspfr je n'ai malheureusement jamais eu de réponse.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
22 déc. 2009 à 15:00
Alors théoriquement, le OnClick d'un bouton asp fait une validation du formulaire, donc devrait également envoyer les valeurs de tes radiobuttons.

Sinon, de toutes façons, tu peux accéder à ta base de données dans la méthode OnLoad de ton code behind.

Enfin, à propos du fait de modifier ta base de données en javascript, c'est possible en utilisant de l'AJAX, mais c'est beaucoup de travail pour pas grand chose.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
22 déc. 2009 à 15:15
Alors oui je peux accèder à ma bdd dans la méthode OnLoad, cependant je veux y accèder quand l'utilisateur a validé...Et dans cette méthode je ne sais pas si je peux contrôler que l'utilisateur ai cliqué sur le bouton (qui rechargerai la même page).

Car en fait je veux bien mettre des contrôles ASP sinon mais le problème c'est que j'insère ces contrôles dans un Label. Et un contrôle ASP mis dans un label ASP, j'ai testé...le contrôle ne s'affiche pas sur la page. Il s'affiche dans le Design de VS mais pas sur ma page web :/
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
22 déc. 2009 à 15:47
Comme je disais, normalement, tu dois pouvoir utiliser OnClick
Et sinon, tu peux faire un champ hidden du genre :



et dans ton onLoad :
if(Request["formvalide"] != null && Request["formvalide"].ToString() == "oui")
{
    // blablabla
}


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
22 déc. 2009 à 16:11
Effectivement avec le champ hidden ca fonctionne, mais je ne comprend pas comment ca fonctionne...
Je met tout en bas du code après mon bouton valider.
Puis dans le onLoad le if... qui si est vérifié affiche un label supplémentaire à la page. Ce que je comprend pas c'est que dès le 1er chargement de ma page ca valeur du champ hidden est déjà sur oui. Pourquoi il me l'affiche que après avoir cliquer sur Valider. C'est bien c'est ce que je veux mais je comprend pas comment il fait, je me sens stupide là...
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
22 déc. 2009 à 16:37
Ce que je comprend pas c'est que dès le 1er chargement de ma page ca valeur du champ hidden est déjà sur oui.
C'est là que tu fais erreur. Ton champ hidden est effectivement sur oui, mais pas Request["formvalide"]. La liste de valeurs de Request peut être remplie de 2 manières : soit manuellement dans l'url (maPage.aspx?formvalide=oui), soit par VALIDATION de formulaire. (pour ne prendre que les variables venant de formulaires avec method="POST", tu peux utiliser Request.Form["formvalide"]

En gros, voilà comment ça se passe :

- Tu demandes la page en allant sur maPage.aspx
- Le serveur regarde les variables qui lui ont été transmises : rien
- Donc Request["formvalide"] est null.
- Le serveur génère ta page html avec à un moment, dans ton <form>, un champ hidden qui permettra de transmettre la variable fromvalide avec la valeur oui lorsque tu valideras le forumaire
- Le serveur te renvoie la page HTML

- Tu valides le formulaire : tu refais une requête sur la même page mais avec des variables
- Le serveur regarde les variables qui lui ont été transmises : plein de variables, DONT "formvalide"
- Donc Request["formvalide"] ou Request.Form["formvalide"] ont une valeur ("oui").
- Le serveur fait ses traitements en base de données
- Le serveur te génère une page HTML
- Le serveur te renvoie cette page HTML

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
22 déc. 2009 à 17:25
Ha ok ! Merci pour cette explication détaillée, je n'avais tout simplement pas compris le principe du Request...
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
23 déc. 2009 à 09:20
Peut-on vérifier avec ce même Request les boutons radio ? Pour savoir lequel est coché.

Pour faire simple voici mon code avec en commentaire dans le Request ce que j'aimerai faire mais je ne trouve pas la syntaxe appropriée. (Un des deux boutons radio est pre-selectionne au chargement de la page selon l'etat de la ressource (dispo, indispo)).

                    _command.CommandText "SELECT PRM_libelle, PRM_code, PRM_procedure FROM appli_prm WHERE (PRM_pervalid1 '" + Matricule + "' OR PRM_Pervalid2 = '" + Matricule + "' OR PRM_Pervalid3 = '" + Matricule + "') ORDER BY PRM_code, PRM_libelle ASC";
                    reader = _command.ExecuteReader();


                    Label label2 = new Label();
                    PanelCorpsRessources.Controls.Add(label2);
                    label2.Text = " Nom  |TypeDisponible |Indisponible\";
i  = 1;
//RadioButton bouton = new RadioButton();
//PanelCorpsRessources.Controls.Add(bouton);
while (reader.Read())
{
string ressource = reader.GetString(0);
string typeRessource = reader.GetString(1);
string prm_procedure = reader.GetString(2);

//Ici je vérifie si la ressource est Disponible ou Indisponible et je pre-selectionne le bouton radio approprié
if(prm_procedure == \"3\")
label2.Text += \"----
" + ressource + ", \" + typeRessource + \",  \";
else
label2.Text += \"----
" + ressource + ", \" + typeRessource + \",  \";
i++;

}

                    label2.Text += "
";

                    reader.Close();


                    if (Request["formvalide"] != null && Request["formvalide"].ToString() == "oui")
                    {
                        // Vérification des boutons radio.
                        //Si le bouton radio a changé d'etat (Indispo -> Dispo) je modifie la bdd sinon je fais rien.
                    }
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
23 déc. 2009 à 09:45
Oui, c'est exactement le même principe. Sauf que ta variable sera "btRessource"+i

for(int i = 0; Request.Form["btRessource" + i] != null; i++)
// On fait une boucle qui incrémente i tant qu'il existe 
// des variables "btRessource"+i envoyées avec le formulaire
// (tu peux aussi faire une valeur maximum de i si tu connais le nombre de lignes)
{
    // Si par exemple tu veux attribuer la disponibilité de la ressource en cours
    bool dispo;
    if(Request.Form["btRessource" + i] == "dispo") dispo = true;
    else dispo = false;

    // Peut aussi s'écrire
    bool dispo (Request.Form["btRessource" + i] "dispo")?true:false;

    // Voire même (puisque c'est un booléen)
    bool dispo Request.Form["btRessource" + i] "dispo";

    /* Théoriquement, c'est là que tu compares avec ta bdd
     * pour voir si ça a changé d'état, et si c'est le cas,
     * tu modifies ta base de données. */
}


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
23 déc. 2009 à 10:42
Je dois fermer mon 1er reader et refaire _command, reader... pour faire ma comparaison avec ma BDD ?

De toute façon je viens de m'apercevoir que j'ai un très gros souci...

En faite ma ressource peut avoir 4 états (colonne PRM_procedure de ma table ressources (appli_prm)).

0 : Réservation directe.
1 : Réservation directe avec information du gestionnaire.
2 : Réservation soumise à validation.
3 : Ressource indisponible.

Et si j'ai juste deux boutons radio : Dispnible, Indisponible. Il m'est impossible de savoir dans quel état initial était une ressources actuellement indisponible pour aller changer dans la BDD et remettre le bon chiffre (0,1,2).

Je viens de voir avec le collègue qui a fait l'ancien système de réservation je dois faire une liste qui propose tous les états c'est plus simple ^^

Donc je vais faire cette modif mais c'est au niveau du reader que je bloque, je fais comment ? je ferme celui qui me sert à creer les lignes du tableau pour réouvrir un autre qui me permettrai d'actualiser ma BDD. Dans ce cas comment je retrouve mes "bonnes" lignes dans la BDD ?
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
23 déc. 2009 à 11:55
L'autre possibilité c'est de ne pas t'embêter à lire. Tu fais un truc du genre :

SqlConnection connexion = new SqlConnection("blablabla");
connexion.Open();
for(int i = 0; Request.Form["btRessource" + i] != null; i++)
// En considérant que tes ressources s'appellent bien btRessource0, btRessource1...
{
    SqlCommand commande = new SqlCommand();
    commande.Connection = connexion;

    commande.CommandText "UPDATE maTable SET etat @etat WHERE etat <> @etat AND id = @id";
    // Bien sûr, il faut modifier "maTable", "etat" et "id" pour les faire correspondre à ta base

    commande.Parameters.Add(new SqlParameter("@etat", Request.Form["btRessource" + i].ToString()));
    // A condition que tes radiobuttons aient exactement la valeur qui se trouve en BDD

    commande.Parameters.Add(new SqlParameter("@id",i));
    /* A condition que tes identifiants correspondent à l'affichage,
     * ce qui est peu probable. L'autre solution consiste à faire
     * un champ hidden lors de ta génération de tableau, du genre
     * ""
     * pour chaque entrée, et de remplacer la ligne ci-dessus par
     * commande.Parameters.Add(new SqlParameter("@id", Convert.ToInt32(Request.Form["identifiant" + i].ToString()))); */

    command.ExecuteNonQuery();
}
connexion.Close();


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
SaiYan5102 Messages postés 69 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 15 mars 2011 1
23 déc. 2009 à 13:14
Quand tu dis WHERE etat <> @etat tu veux dire = @etat plutôt ? Et ca sert à quoi de marquer WHERE etat = @etat ? pour l'id ok mais etat ?

J'ai fait ça :

_command.CommandText "SELECT PRM_libelle, PRM_code, PRM_procedure, PRM_numero FROM appli_prm WHERE (PRM_pervalid1 '" + Matricule + "' OR PRM_Pervalid2 = '" + Matricule + "' OR PRM_Pervalid3 = '" + Matricule + "') ORDER BY PRM_code, PRM_libelle ASC";
                    reader = _command.ExecuteReader();


                    Label label2 = new Label();
                    PanelCorpsRessources.Controls.Add(label2);
                    label2.Text " Nom  |Type<th class'dispo'>Etat*\";
i = 1;

while (reader.Read())
{
string ressource = reader.GetString(0);
string typeRessource = reader.GetString(1);
string prm_procedure = reader.GetString(2);

//Ici je vérifie si la ressource est Disponible ou Indisponible et je pre-selectionne le bouton radio approprié
if(prm_procedure == \"0\")
label2.Text += \"----
" + ressource + ", \" + typeRessource + \"<select ID='btRessource" + i + "' name='btRessource" + i + "' /><option value='0' selected='selected'>RD</option><option value='1'>RDI</option><option value='2'>RSV</option><option value='3'>Indisponible</option></select>";
else if(prm_procedure == "1")
label2.Text += "----, \" + ressource + \"" + typeRessource + ", <select ID='btRessource\" + i + \"' name='btRessource\" + i + \"' /><option value='0'>RD</option><option value='1' selected='selected'>RDI</option><option value='2'>RSV</option><option value='3'>Indisponible</option></select>\";
else if(prm_procedure == \"2\")
label2.Text += \"----
" + ressource + ", \" + typeRessource + \"<select ID='btRessource" + i + "' name='btRessource" + i + "' /><option value='0'>RD</option><option value='1'>RDI</option><option value='2' selected='selected'>RSV</option><option value='3'>Indisponible</option></select>";
else
label2.Text += "----, \" + ressource + \"" + typeRessource + ", <select ID='btRessource\" + i + \"' name='btRessource\" + i + \"' /><option value='0'>RD</option><option value='1'>RDI</option><option value='2'>RSV</option><option value='3' selected='selected'>Indisponible</option></select>\";

label2.Text += \"\";
i++;

}

                    label2.Text += "
 (*)RD Reservation Directe / RDI Reservation Directe avec Information du gestionnaire / RSV = Reservation Soumise à Validation / Indisponible = Ressource Indisponible ";

                    reader.Close();


                    if (Request.Form["formvalide"] ! = null && Request.Form["formvalide"].ToString() == "oui")
                    {
                            

                        // On fait une boucle qui incrémente i tant qu'il existe des variables "btRessource"+i envoyées avec le formulaire
                        for (i = 1; Request.Form["btRessource" + i] != null; i++)
                        {
                            _command.CommandText "UPDATE appli_prm SET PRM_procedure @etat WHERE PRM_procedure = @etat AND PRM_numero = @id";

                            _command.Parameters.Add(new SqlParameter("@etat", Request.Form["btRessource" + i].ToString()));
                            _command.Parameters.Add(new SqlParameter("@id", Convert.ToInt32(Request.Form["identifiant" + i].ToString())));

                        }
                    }



Mais quand je sélectionne un état sur la page pour le modifier quand je fais valider ca modifie rien. J'ai oublié quelque chose ?
0
Rejoignez-nous