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

C# Discussion :

Inserer des données dans une table


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut Inserer des données dans une table
    Bonjour,
    Je souhaite insérer des données dans ma table Shelter à partir d'un formulaire (avec des textBox, DateTimePicker, Image, comboBox ...).
    Cependant, mon code me retourne différentes erreurs.

    Description de ma table Shelter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Code int 4 Clé primaire
    Category nvarchar 50
    Name nvarchar 50 
    NbOfAdult nvarchar 2 
    NbOfKid nvarchar 2
    RateOfTVA nvarchar 10 
    PriceTTC int 4
    Picture image
    DateCreated datetime
    DateModified datetime
    ModifiedBy nvarchar 50
    Voici mon code :
    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
     
    private void btnOK_Click(object sender, EventArgs e)
            {
                dbShelterDataSet1.ShelterRow newShelterRow = dbShelterDataSet1.Shelter.NewShelterRow();
     
                newShelterRow.Code = Int32.Parse(tbReference.Text);
                newShelterRow.Category = cbCategory.Text;
                newShelterRow.Name = tbNameShelter.Text;
                newShelterRow.NbOfAdult = Int32.Parse(mtbNbOfAdult.Text);
                newShelterRow.NbOfKid = Int32.Parse(mtbNbOfKid.Text);
                newShelterRow.RateOfTVA = Int32.Parse(cbRateOfTVA.Text);
                newShelterRow.PriceTTC = Int32.Parse(tbLowSeasonWeekPriceTTC.Text);
                newShelterRow.Picture = tbPictures.Text;
                newShelterRow.DateCreated = dtpDateCreated.Text;
                newShelterRow.DateModified = dtpDateModified.Text;
                newShelterRow.ModifiedBy = cbModifiedBy.Text;
     
                dbShelterDataSet1.Shelter.AddShelterRow(newShelterRow);
                try
                {
                    shelterTableAdapter.Update(dbShelterDataSet1.Shelter);
                }
                catch (SqlCeException exception)
                {
                    MessageBox.Show("Erreur :\n" + exception.Message, "Erreur");
                }
            }
    J'ai les erreurs suivantes :
    -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newShelterRow.Picture = tbPictures.Text;
    ==>
    Impossible de convertir implicitement le type 'string' en 'byte[]'
    -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newShelterRow.DateCreated = dtpDateCreated.Text;
    ==>
    Impossible de convertir implicitement le type 'string' en 'System.dateTime'

    -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newShelterRow.DateModified = dtpDateModified.Text;
    ==>
    Impossible de convertir implicitement le type 'string' en 'System.dateTime'

    Merci pour votre aide.
    Cordialement

  2. #2
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut

    J'ai pas tout lu mais déja ceci m'interpelle

    Pas toi ?

    et tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newShelterRow.Picture = tbPictures.Text;
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Picture est le nom du champ de ma table Shelter.
    le type de Picture est une image.
    J'ai mis sa car, lorsque l'on crée une table dans ma dbShelter.sdf. Il propose le type:image.

  4. #4
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Et donc ?

    Pourquoi y met du du texte ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Car j'ai essayer de mettre le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newShelterRow.Picture = tbPictures.Image;
    Mais j'ai l'erreur suivante :
    'System.Windows.Forms.TextBox' ne contient pas une définition pour 'Image' et aucune méthode d'extension 'Image' acceptant un premier argument de type 'System.Windows.Forms.TextBox' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante*?)

  6. #6
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    J'ai l'impression que tu joue a l'apprenti sorcier en melangeant toutes les fioles que tu a sous la main sans bien savoir ce qu'elles contiennent

    Un TextBox ca ne sert pas a contenir une image
    Un DateTime c'est pas du text

    etc...
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Oui, je sais très bien. Sinon je ne serai pas sur le forum pour demander de l'aide.

    J'essaye tout simplement de me débrouiller avec mes petites compétences et de m'autoformer.

    Pour l'image, je me suis trompé de champs... j'avais pris la textbox qui contient l'url.

    Pour les dates.. je ne vois pas comment récupérer la valeur de ma DateTimePicker.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    Tes erreurs sont pour moi clair : il faut que tu convertisse tes variables car tu ne peut lui dire qu'un objet picture est égal a du texte
    selon moi il faut que tu utilise la fonction Convert pour modifier tes types

    bon courage

    @+

  9. #9
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Tes erreurs sont pour moi clair : il faut que tu convertisse tes variables car tu ne peut lui dire qu'un objet picture est égal a du texte
    selon moi il faut que tu utilise la fonction Convert pour modifier tes types


    Je ne pense pas que la méthode Convert puisse convertir du texte en image ou vice-versa

    Avant d'essayer de convertir des pommes en saucisson je ferais d'abord l'inventaire des type dans la base afin d'utiliser une form munie des controles qui peuvent s'y rapporter

    Pour la picture c'est une image

    Pour les DateTime ce sont des DateTimePicker.Value
    Etc ..
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Dans un premiers temps merci pour vos réponses.
    Je pense avoir réussi pour les DateTimePicker. Cependant j'ai une exception :

    Voici mon nouveau code :
    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
    private void btnOK_Click(object sender, EventArgs e)
            {
                dbShelterDataSet1.ShelterRow newShelterRow = dbShelterDataSet1.Shelter.NewShelterRow();
     
     
                newShelterRow.Category = cbCategory.Text;
                newShelterRow.Name = tbNameShelter.Text;
                newShelterRow.NbOfAdult = int.Parse(mtbNbOfAdult.Text);
                newShelterRow.NbOfKid = int.Parse(mtbNbOfKid.Text);
                newShelterRow.RateOfTVA = Int32.Parse(cbRateOfTVA.Text);
                newShelterRow.PriceTTC = int.Parse(tbLowSeasonWeekPriceTTC.Text);
                //newShelterRow.Picture = pbPicture.Image;
                newShelterRow.DateCreated = dtpDateCreated.Value;
                newShelterRow.DateModified = dtpDateModified.Value;
                newShelterRow.ModifiedBy = cbModifiedBy.Text;
     
                dbShelterDataSet1.Shelter.AddShelterRow(newShelterRow);
                try
                {
                    shelterTableAdapter.Update(dbShelterDataSet1.Shelter);
                }
                catch (SqlCeException exception)
                {
                    MessageBox.Show("Erreur :\n" + exception.Message, "Erreur");
                }
            }
    L'exception est la suivante :
    L'exception NoNullAllowed n'a pas été gérée.
    La colonne Code est la clé primaire de ma table Shelter. Ainsi, comment puis-je faire une autoIncrémentation de ma colonne Code?
    La colonne 'Code' n'autorise pas les valeurs null.

Discussions similaires

  1. Réponses: 13
    Dernier message: 26/04/2011, 09h10
  2. [PDO] Inserer des données dans une table
    Par Dj_xXx dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/10/2008, 16h28
  3. [XI] Inserer des données dans une Table depuis CRXI
    Par jouberts dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 10/07/2007, 09h21
  4. [debutant]inserer des données dans une table
    Par khayate dans le forum VB.NET
    Réponses: 15
    Dernier message: 06/06/2007, 09h02
  5. Inserer des données dans une table access SQL
    Par ouellet5 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/11/2005, 21h11

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