Discussion: Ajout de produit [2014]

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut Ajout de produit

    Bonjour,

    je souhaite ajouter des produit dans ma BDD mais une erreur apparaît "Informations supplémentaires : Le format de la chaîne d'entrée est incorrect."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    AchatCarte carte = new AchatCarte()
                    {
                        ProduitName = txtProduitName.Text,
                        ProduitImage = "~/ProduitImages/" + ProduitPhoto.FileName,
                        ProduitPrix = TxtPrixProduit.Text,
                        ProduitDescription = TxtDescription.Text,
                        CategoryID = Convert.ToInt32(DropDownList1.SelectedValue),
                        TotalProduit = Convert.ToInt32(TxtProduitQuantity.Text)
                    };
                    carte.AddNewProduit();
    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
    17
    18
    public string ProduitName;
            public string ProduitImage;
            public string ProduitPrix;
            public string ProduitDescription;
            public int ProduitQuantity;
    public int CategoryID;
            public string ModePaiement; public void AddNewProduit()
            {
                SqlParameter[] parametre = new SqlParameter[6];
                parametre[0] = DataLayer.DataAccess.AddParameter("@ProduitName", ProduitName, System.Data.SqlDbType.VarChar, 300);
                parametre[1] = DataLayer.DataAccess.AddParameter("@ProduitPrix", ProduitPrix, System.Data.SqlDbType.Int, 100);
                parametre[2] = DataLayer.DataAccess.AddParameter("@ProduitImage", ProduitImage, System.Data.SqlDbType.VarChar, 500);
                parametre[3] = DataLayer.DataAccess.AddParameter("@ProduitDescription", ProduitDescription, System.Data.SqlDbType.VarChar, 1000);
                parametre[4] = DataLayer.DataAccess.AddParameter("@CategoryID", CategoryID, System.Data.SqlDbType.Int, 10);
                parametre[5] = DataLayer.DataAccess.AddParameter("@ProduitQuantity", ProduitQuantity, System.Data.SqlDbType.Int, 10);
     
                DataTable dt = DataLayer.DataAccess.ExecuteDTByProcedure("SP_AddNewProduit", parametre);
            }
    est ce que vous pouvez m'aider?

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    août 2002
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : août 2002
    Messages : 1 276
    Points : 1 853
    Points
    1 853

    Par défaut

    Pour t'aider, il faut la définition de la procédure stockée
    Delphi 7/XE2
    Windows XP/Vista/7

  3. #3
    Membre actif
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    avril 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2006
    Messages : 141
    Points : 206
    Points
    206

    Par défaut

    Bonjour

    Avez vous testez ceci

    ProduitImage = @"~/ProduitImages/" + ProduitPhoto.FileName ?

    Je ne fait pas souvent du c#, mais il me semble que vous n'avez pas échapper les caractères spéciaux.
    le @ devant une chaîne ne marche que sur une version récente de visual studio.

    cordialement,
    DSI et développeur du logiciel Lulidb
    http://www.lulidb.com - outils de gestion de base de données orienté développer.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    Bonjour,

    J'ai essayé d'ajouter @ devant le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ProduitImage = @"~/ProduitImages/" + ProduitPhoto.FileName,
    mais toujours la même erreur. Voila la procédure stocké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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    CREATE PROCEDURE [dbo].[SP_AddNewProduit] 
    (
    	@ProduitName varchar(300),
    	@ProduitPrix int,
    	@ProduitImage varchar(500),
    	@ProduitDescription varchar(1000),
    	@CategoryID int
    	,@ProduitQuantity int
    )
    AS
    	BEGIN
    		BEGIN TRY
     
    			INSERT INTO [dbo].[Produit] 
    			VALUES
    			(@ProduitName,
    			@ProduitDescription,
    			@ProduitPrix,
    			@ProduitImage,
    			@CategoryID,
    			@ProduitQuantity) --
     
    		END TRY
     
    		BEGIN CATCH
     
    			PRINT('Erreur')
     
    		END CATCH
     
    	END
    Nom : Capture d'écran 2017-08-22 14.44.01.png
Affichages : 67
Taille : 59,9 Ko

  5. #5
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 782
    Points : 3 096
    Points
    3 096

    Par défaut

    je pense que vous faites fausse route, le problème est un problème de cast coté c# pas SQL... ProduitImage est de type string donc aucun risque de FormatException...

    Avez vous vérifié la correspondance des paramètre lors de l'appel à votre procédure dans votre cs?

    Pouvez vous poster le code complet du save()?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    C'est la méthode d'ajout du parle ou de sauve image?
    j'arrive à enregistrer mon image dans le dossier "ProduitImages".

  7. #7
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 332
    Points : 40 139
    Points
    40 139
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Dachetache Voir le message
    Bonjour,

    je souhaite ajouter des produit dans ma BDD mais une erreur apparaît "Informations supplémentaires : Le format de la chaîne d'entrée est incorrect."
    Cette erreur n'existe pas côté SQL Server. C'est votre programme client qui est faux.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    Au niveau client le problème c'est la récupération de l'image de mon dossier "ProduitImages" puis enregistrer dans le BDD.

  9. #9
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 782
    Points : 3 096
    Points
    3 096

    Par défaut

    oubliez la procédure montrez nous:
    • Le code de définition de votre objet
    • le code qui l'alimente

    Si vous lancez l'application en DEBUG, le code doit planter précisément sur la ligne en erreur et vous aurez accès à la valeur des variables.
    Nottament ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     ProduitName = txtProduitName.Text,
                        ProduitImage = "~/ProduitImages/" + ProduitPhoto.FileName,
                        ProduitPrix = TxtPrixProduit.Text,
                        ProduitDescription = TxtDescription.Text,
                        CategoryID = Convert.ToInt32(DropDownList1.SelectedValue),
                        TotalProduit = Convert.ToInt32(TxtProduitQuantity.Text)
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    Comme j'avais dit dans le message ^^^^ l'erreur est au niveau de AchatCarte carte = new AchatCarte()

  11. #11
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 782
    Points : 3 096
    Points
    3 096

    Par défaut

    Vous etes tétu! :-)

    Montrez nous le code complet de AchatCarte carte = new AchatCarte(){... sur votre post on ne le voit pas en entier...
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  12. #12
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     class AchatCarte
        {
            //declaration de variable categorie
            public string CategoryName;
            public int CategoryID;
     
            //declaration de variable Produits
            public string ProduitName;
            public string ProduitImage;
            public string ProduitPrix;
            public string ProduitDescription;
            public int TotalProduit;
     
            //fonction ajouter une categorie
            public void AddNewCategory()
            {
                SqlParameter[] parametre = new SqlParameter[1];// parce qu'il y a qu'un seul parametre
                parametre[0] = DataLayer.DataAccess.AddParameter("@CategoryName", CategoryName, System.Data.SqlDbType.VarChar, 200);// parametre de notre procedure
                DataTable dt = DataLayer.DataAccess.ExecuteDTByProcedure("SP_AddNewCategory", parametre);// execution de la procedure que nous avons crées dans SQL Server
            }
     
            //fonction ajouter produit
            public void AddNewProduit()
            {
                SqlParameter[] parametre = new SqlParameter[6];
                parametre[0] = DataLayer.DataAccess.AddParameter("@ProduitName", ProduitName, System.Data.SqlDbType.VarChar, 300);
                parametre[1] = DataLayer.DataAccess.AddParameter("@ProduitPrix", ProduitPrix, System.Data.SqlDbType.Int, 100);
                parametre[2] = DataLayer.DataAccess.AddParameter("@ProduitImage", ProduitImage, System.Data.SqlDbType.VarChar, 500);
                parametre[3] = DataLayer.DataAccess.AddParameter("@ProduitDescription", ProduitDescription, System.Data.SqlDbType.VarChar, 1000);
                parametre[4] = DataLayer.DataAccess.AddParameter("@CategoryID", CategoryID, System.Data.SqlDbType.Int, 100);
                parametre[5] = DataLayer.DataAccess.AddParameter("@ProduitQuantity", TotalProduit, System.Data.SqlDbType.Int, 100);
     
                DataTable dt = DataLayer.DataAccess.ExecuteDTByProcedure("SP_AddNewProduit", parametre);
            }}

  13. #13
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 782
    Points : 3 096
    Points
    3 096

    Par défaut

    je vous parlais de la suite de la ligne 59 de votre fichier AjoutNouveauProduit.aspx.cs
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  14. #14
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    oui c'est ça

  15. #15
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 782
    Points : 3 096
    Points
    3 096

    Par défaut

    Citation Envoyé par Dachetache Voir le message
    oui c'est ça
    Ce n'est pas cà vous avez collé le code de la classe AchatCarte...
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  16. #16
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    AchatCarte carte = new AchatCarte()
                        {
                            ProduitName = txtProduitName.Text,
                            ProduitImage = "~/ProduitImages/" + uploadProduitPhoto.FileName,
                            ProduitPrix = TxtPrixProduit.Text,
                            ProduitDescription = TxtDescription.Text,
                            CategoryID = Convert.ToInt32(DropDownList1.SelectedValue),
                            TotalProduit = Convert.ToInt32(TxtProduitQuantity.Text)
                        };
                        carte.AddNewProduit();
                        ClearText();
                        Response.Redirect("AjouterNouveauProduit.aspx?alert=sucess");

  17. #17
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 782
    Points : 3 096
    Points
    3 096

    Par défaut

    que valent les variables (mode DEBUG):
    • TxtPrixProduit.Text
    • DropDownList1.SelectedValue
    • TxtProduitQuantity.Text
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  18. #18
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    Exemple dans le champ txtPrixProduit.Text j'ai mis 10, DropDownList1.SelectedValue j'ai sélectionne équipement de foot, TxtProduitQuantity.Text j'ai rien mis.

    Apres compilation en mode debug j'ai la valeur 10,équipement de foot et rien

  19. #19
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    novembre 2004
    Messages
    1 782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2004
    Messages : 1 782
    Points : 3 096
    Points
    3 096

    Par défaut

    Et ben voilà!

    Ce n'est pas selected value qu'il faut mettre vous essayez de convertit "équipement de foot" en int (CategoryID )
    N'est ce pas plutôt SelectedIndex que vous vouliez?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  20. #20
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2017
    Messages : 50
    Points : 23
    Points
    23

    Par défaut

    Oui c'est bien ça l'erreur

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/04/2009, 16h12
  2. créer un formulaire d'ajout de produits sur 2 sites internet
    Par LaurentAccess dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/01/2008, 13h50
  3. Ajouter plusieurs produits
    Par amed007 dans le forum IHM
    Réponses: 2
    Dernier message: 01/01/2008, 23h44
  4. ajouter un produit dans ma base de données
    Par arwahamdech dans le forum PHP & MySQL
    Réponses: 2
    Dernier message: 26/05/2007, 23h01
  5. [Conception] Ajout des produits dans un panier
    Par ghyosmik dans le forum PHP & SGBD
    Réponses: 3
    Dernier message: 22/09/2006, 12h17

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