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

MS SQL Server Discussion :

Ajout de produit [2014]


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 294
    Points : 1 946
    Points
    1 946
    Par défaut
    Pour t'aider, il faut la définition de la procédure stockée

  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 : 47
    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 : 209
    Points
    209
    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,

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 : 278
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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 795
    Points : 3 173
    Points
    3 173
    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()?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 922
    Points : 51 717
    Points
    51 717
    Billets dans le blog
    6
    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 +

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 795
    Points : 3 173
    Points
    3 173
    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)

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 795
    Points : 3 173
    Points
    3 173
    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...

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 795
    Points : 3 173
    Points
    3 173
    Par défaut
    je vous parlais de la suite de la ligne 59 de votre fichier AjoutNouveauProduit.aspx.cs

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 795
    Points : 3 173
    Points
    3 173
    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...

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 795
    Points : 3 173
    Points
    3 173
    Par défaut
    que valent les variables (mode DEBUG):
    • TxtPrixProduit.Text
    • DropDownList1.SelectedValue
    • TxtProduitQuantity.Text

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 795
    Points : 3 173
    Points
    3 173
    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?

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2017
    Messages
    63
    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 : 63
    Points : 28
    Points
    28
    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. [MySQL] ajouter un produit dans ma base de données
    Par arwahamdech dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/05/2007, 23h01
  5. [Conception] Ajout des produits dans un panier
    Par ghyosmik dans le forum PHP & Base de données
    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