IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

CheckBoxField complété avec une CheckBox. Et petit probleme de Date.


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut CheckBoxField complété avec une CheckBox. Et petit probleme de Date.
    Bonjour,

    J'essaye de faire en sorte que la CheckBoxField de mon GridView soit complété par rapport à une CheckBox.
    En gros, lorsque je réalise une insertion dans ce tableau, je coche ou non la CheckBox ce qui coche par la suite la CheckBoxField de la ligne concerner.

    J'ai essayer ça, mais à chaque fois j'ai une erreur de type de donnée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    protected void LinkButton1_Click(object sender, EventArgs e)
            {
                string connectionString = GetConnectionString();
                using (SqlConnection connection = new SqlConnection())
                {
                connection.ConnectionString = connectionString;
                connection.Open();
                string strqr = "INSERT INTO [WBDT_DT_TICKET] (DateTime, WorkBench, WorkBenchDiv, EmailFollowing, SessionUserID, WBVS, WBCELL)  VALUES ('" + Time.Text + "', '" + DropDownList3.Text + "', '" + txtSPoste.Text + "', '" + chkbMail.Text + "', '" + DdlUti.Text + "', '" + DropDownList1.Text + "', '" + DropDownList2.Text + "')";
                SqlCommand myCm = new SqlCommand(strqr, connection);
                int numrw = myCm.ExecuteNonQuery();
                connection.Close();
     
                Page.Response.Redirect(Page.Request.Url.ToString(), true);
                }
            }
    L'erreur:
    String was not recognized as a valid Boolean.
    J'ai essayer de changer le type de donnée dans la BDD, mais ça tourne en rond, quand je remplace par "bit", il me dit qu'il veut du autre chose, puisqu'il faudrait convertir le format "bit" en "booléen".
    Si vous avez une solution ou une méthode de conversion de donnée, ça m'intéresse

    J'ai aussi un autre problème:
    J'ai créer une TextBox qui accueil la date du jour pour l'insertion.
    Voici son code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void Page_Load(Object sender, EventArgs e)
            {
                Time.Text = DateTime.Now.Date.ToString() + ":" + DateTime.Now.Hour.ToString() + ":" +
                 DateTime.Now.Minute.ToString();
            }
    Le problème c'est que la TextBox recoit pour exemple:
    11/17/2010 12:00:00 AM:15:46
    Donc à l'insertion la taille est dépasser.
    Je ne vois pas comment retirer le 12:00:00 AM:

    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Il faut savoir que les valeurs possibles pour un checkbox sont True et False donc du bool.

    Je ne suis pas sûr que ce soit le cas dans ton code.

    Une remarque sur ton code : il faut utiliser les requêtes paramétrées, regarde les tutos du site !!!

    Pour ton histoire de date du jour, il faut simplement faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Time.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm");

  3. #3
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut
    J'ai regarder des requêtes paramétrés.
    J'ai essayer de convertir dans la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string strqr = "INSERT INTO [WBDT_DT_TICKET] (DateTime, WorkBench, WorkBenchDiv, EmailFollowing, SessionUserID, WBVS, WBCELL)  VALUES ('" + Time.Text + "', '" + DropDownList3.Text + "', '" + txtSPoste.Text + "', '" + Convert.ToInt32(chkbMail.Text) + "', '" + DdlUti.Text + "', '" + DropDownList1.Text + "', '" + DropDownList2.Text + "')";
    La valeur de la CheckBox est donc un Booléen que je convertis en entier.
    La base de donner enregistre en binary la valeur. Mais ça ne fonctionne pas.
    En plus je suppose qu'il faut reconvertir les données de la base pour que la colonne CheckBoxField soit cocher ou non.


    Merci déjà pour l'heure.

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Une remarque sur ton code : il faut utiliser les requêtes paramétrées, regarde les tutos du site !!!
    Merci Ostenhard

    Il faut que tu précises quel est le champ booléen qui pose problème.
    D'après tes paramètres, je ne vois aucune valeur qui ressemble à un booléen.

  5. #5
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Je ne vois pas où tu as paramétré la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string strqr = "INSERT INTO [WBDT_DT_TICKET] (DateTime, WorkBench, WorkBenchDiv, EmailFollowing, SessionUserID, WBVS, WBCELL)  VALUES ('" + Time.Text + "', '" + DropDownList3.Text + "', '" + txtSPoste.Text + "', '" + Convert.ToInt32(chkbMail.Text) + "', '" + DdlUti.Text + "', '" + DropDownList1.Text + "', '" + DropDownList2.Text + "')";
    La base de donner enregistre en binary la valeur. Mais ça ne fonctionne pas.
    Peux-tu nous donner l'erreur obtenue ?

    Et nous montrer le code traitant avec le bool ?

  6. #6
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut
    Voici le code de la procédure pour l'insertion dans ma gidview:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    protected void LinkButton1_Click(object sender, EventArgs e)
            {
     
                string connectionString = GetConnectionString();
                using (SqlConnection connection = new SqlConnection())
                {
                connection.ConnectionString = connectionString;
                connection.Open();
                string strqr = "INSERT INTO [WBDT_DT_TICKET] (DateTime, WorkBench, WorkBenchDiv, EmailFollowing, SessionUserID, WBVS, WBCELL)  VALUES ('" + Time.Text + "', '" + DropDownList3.Text + "', '" + txtSPoste.Text + "', '" + Convert.ToInt32(chkbMail.Text) + "', '" + DdlUti.Text + "', '" + DropDownList1.Text + "', '" + DropDownList2.Text + "')";
                SqlCommand myCm = new SqlCommand(strqr, connection);
                int numrw = myCm.ExecuteNonQuery();
                connection.Close();
     
                Page.Response.Redirect(Page.Request.Url.ToString(), true);
                }
            }
    Voici l'erreur que j'obtiens, qui apparait sur la requête SQL dans le code behind:
    Input string was not in a correct format.

  7. #7
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    C'est quel champ qui est un bool ?

  8. #8
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut
    La CheckBox dans la partie HTML représente le booléen.
    Sinon c'est EmailFollowing qui est en Binary(1).
    Et surement que la colonne CheckBoxField est aussi en Booléen, ce qui fait qu'au remplissage de mon gridview il faudra que je reconvertisse encore.

  9. #9
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    EmailFollowing doit être de type bit dans ta bdd si tu veux l'utiliser comme booléen côté C#.

    Dans ta requête concaténée () (utilise des requêtes paramétrées, pour la lisibilité, la sécurité et pour éviter des erreur de concaténation) modifie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Convert.ToInt32(chkbMail.Text)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Convert.ToBoolean(chkbMail.SelectedValue)
    si chkbMail est une CheckBoxList ou si chkbMail est une CheckBox.

  10. #10
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut
    Ok, j'ai remplacer pour le cas d'une checkbox, mais malheuresement je n'ai pas accées à la DB et EmailFollowing restera en Binary jusqu'a lundi.
    Donc je vais me renseigner auprès de mes profs demain pour des requêtes concaténées.
    Merci pour ton aide, je reviendrais pour la suite plus tard

  11. #11
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Citation Envoyé par Jefty Voir le message
    Donc je vais me renseigner auprès de mes profs demain pour des requêtes concaténées.
    requêtes paramétrées, pas concaténées

  12. #12
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut
    Merci

  13. #13
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut
    Je viens de changer les paramètres, dans la base de données ainsi que dans la requête, voici l'erreur:

    Syntax error converting the varchar value 'True' to a column of data type bit

  14. #14
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Remet nous ton code.
    Sans code, on ne peut pas te répondre.

    Dis nous également sur quelle ligne du code ça plante.

  15. #15
    Membre confirmé Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Par défaut
    Problème résolu, j'ai fait comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    protected void LinkButton1_Click(object sender, EventArgs e)
            {
     
                string connectionString = GetConnectionString();
                using (SqlConnection connection = new SqlConnection())
                {
                connection.ConnectionString = connectionString;
                connection.Open();
                string strqr = "INSERT INTO [WBDT_DT_TICKET] (TicketTypeCode, DateTime, WorkBench, WorkBenchDiv, EmailFollowing, SessionUserID, WBVS, WBCELL) VALUES ('C', '" + Convert.ToDateTime(Time.Text) + "', '" + DropDownList3.Text + "', '" + txtSPoste.Text + "', '" + Convert.ToInt32(chkbMail.Checked) + "', '" + DdlUti.Text + "', '" + DropDownList1.Text + "', '" + DropDownList2.Text + "')";
                SqlCommand myCm = new SqlCommand(strqr, connection);
                int numrw = myCm.ExecuteNonQuery();
                connection.Close();
     
                Page.Response.Redirect(Page.Request.Url.ToString(), true);
                }
            }
    Et ça fonctionne très bien.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Customiser le composant TabPage avec une checkbox
    Par Akta3d dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/09/2007, 14h38
  2. [MySQL] Mise à jour mysql avec une checkbox non checké
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/08/2006, 16h45
  3. Insérer une légende dans une image avec une police plus petite
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 29/04/2006, 14h19
  4. Lier une zone de saisie avec une Checkbox
    Par Marconico dans le forum ASP
    Réponses: 3
    Dernier message: 25/04/2006, 14h41
  5. probléme avec une checkbox
    Par ardamus dans le forum Langage
    Réponses: 4
    Dernier message: 02/03/2006, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo