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

VB.NET Discussion :

inserer des données dans une table à partir d'une fenetre vb


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Points : 38
    Points
    38
    Par défaut inserer des données dans une table à partir d'une fenetre vb
    bonjour j'ai un formulaire à inserer dans une base de données oracle mais j'ai eu des problémes voila l'erreur :

    ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: erreur de conversion des caractères en chiffres ORA-06512: à ligne 1
    voila le code de l'insertion :

    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
    Private Sub sauvegarder(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
                      + "(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))" _
                      + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));" _
                      + "User Id=system;Password=aymen;"
    
            Dim conn As New OracleConnection(oradb)
            conn.Open()
    
            If ncin.Text = "" Or nom.Text = "" Or prenom.Text = "" Or adresse.Text = "" Or ville.Text = "" Or numtel.Text = "" Then
                MsgBox("veuillez remplir tous les champs", MsgBoxStyle.OkOnly)
            Else
                Dim cmd As New OracleCommand("insert_anim", conn)
                cmd.CommandType = CommandType.StoredProcedure
    
                Dim param1 As OracleParameter = cmd.Parameters.Add("cinanim", ncin.Text)
                Dim param2 As OracleParameter = cmd.Parameters.Add("nomnim", nom.Text)
                Dim param3 As OracleParameter = cmd.Parameters.Add("prenomanim", prenom.Text)
                Dim param4 As OracleParameter = cmd.Parameters.Add("villeanim", ville.Text)
                Dim param5 As OracleParameter = cmd.Parameters.Add("adresseanim", adresse.Text)
                Dim param6 As OracleParameter = cmd.Parameters.Add("numtelanim", numtel.Text)
                Dim param7 As OracleParameter = cmd.Parameters.Add("dispanim", disp.Text)
    cmd.ExecuteNonQuery()
    
                
                MsgBox("animateur ajouté avec succée", MsgBoxStyle.OkOnly)
                recherche.Show()
                Me.Hide()
                conn.Dispose()
            End If
        End Sub

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Certains paramètres de ta procédure stockée doivent être des nombres, pas des chaines de caractères. Or toi tu passes du texte pour tous les paramètres... Il faut que tu fasses toi-même la conversion en nombre

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    j'ai la colonne cin et numtel de type number dans la base et j'ai pas pu trouver la solution si vous pouvez corrige moi le code

  4. #4
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    C'est très simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim param1 As OracleParameter = cmd.Parameters.Add("cinanim", Integer.Parse(ncin.Text))
    Et la même chose pour le numéro de téléphone.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    j'ai fait ce que ta ecrit mais malheureusement la méme erreur

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    SVP une aide j'ai mentionné l'erreur au niveau du code c'est cmd.executeNonQuery()

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ce serait plus facile de t'aider si tu montrais la signature de la procédure stockée...

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create or replace procedure insert_anim(cinanim animateur.cin%type,nomanim animateur.nom%type,prenomanim animateur.prenom%type,villeanim animateur.ville%type,adresseanim animateur.adresse%type,numtelanim animateur.numtel%type,dispanim animateur.disp%type)is
    begin
    insert into animateur(cin,nom,prenom,ville,adresse,numtel,disp) values(cinanim,nomanim,prenomanim,villeanim,adresseanim,numtelanim,dispanim);
    commit;
    end;

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    OK... en fait ce que je voulais voir c'était les types, mais là on les voit pas
    Tu peux montrer la définition de la table?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CIN	NUMBER
    NOM	VARCHAR2(30)	
    PRENOM	VARCHAR2(30)	
    EXPERIENCE	VARCHAR2(10)	
    VILLE	VARCHAR2(30)	
    ADRESSE	VARCHAR2(100)
    NUMTEL	NUMBER	
    DISP	VARCHAR2(10)

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    NUMTEL est de type NUMBER, mais toi tu passes une chaine de caractères... c'est exactement comme pour CIN, il faut passer un nombre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim param6 As OracleParameter = cmd.Parameters.Add("numtelanim", Integer.Parse(numtel.Text))

  12. #12
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    il me dit impos d'inserer null a experience mais j'ai ecrit c pa vide

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    La procédure stockée prend 8 paramètres mais tu n'en passes que 7, tu as oublié le paramètre "experience"...

    Il faudrait quand même que tu apprennes à chercher un peu les solutions par toi-même, parce que si tu as besoin d'aide au moindre petit blocage, tu vas pas avancer très vite... ça fait quand même presque 1 semaine que tu essaies d'appeler une procédure stockée

  14. #14
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Surtout que pour le numéro de téléphone, je t'avais donné la solution...

Discussions similaires

  1. Charger des données dans un GridPanel à partir d'une DB
    Par Erwan62 dans le forum Ext JS / Sencha
    Réponses: 4
    Dernier message: 15/05/2009, 16h27
  2. Réponses: 1
    Dernier message: 19/04/2008, 16h26
  3. Réponses: 11
    Dernier message: 15/06/2007, 15h00
  4. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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