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

Langage SQL Discussion :

probleme avec insert into


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Points : 7
    Points
    7
    Par défaut probleme avec insert into
    salut, j'ai un problem avec ce code:

    Private Sub Command2_Click()
    Dim cin As String * 8
    Dim nom As String * 20
    Dim prenom As String * 20
    Dim datene As Date
    Dim lieune As String * 30
    Dim situationfamille, nompere, nommere As String * 10
    Dim sexe As String * 1
    Dim adresse As String * 50
    Dim photo As String * 60
    cin = Text1.Text
    nom = Text2.Text
    prenom = Text3.Text
    datene = CDate(Text4.Text)
    lieune = Text5.Text
    situationfamille = Text6.Text
    nompere = Text7.Text
    nommere = Text8.Text
    adresse = Text9.Text
    If Option1.Value Then
    sexe = "M"
    Else
    sexe = "F"
    End If
    photo = CStr(CmDial.FileName)
    conCMD.CommandText = "INSERT into personnel VALUES(cin,nom,prenom,datene,lieune,situationfamille,nompere,nommere,adresse,sexe,photo)"
    Set Tpersonnel = conCMD.Execute

    End Sub

    le problem lorsque j'execute ce code je recois le message:
    Erreur d'execution'-2147217904(80040e10)'
    [Microsoft][Pilot ODBC MicroSoft Access] trop peu de paramétre 11 attendu.
    aide moi SVP
    Merci

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Si tu visualises ta requête telle qu'elle sort (sous Delphi, je ferais ShowMessage (SQL .Text), sous VB, tu dois savoir ), je suppose que tu t'apercevras que tes "Values" de type alphanumérique ou date ne sont pas entourées de quotes.

    Ta SQL devrait sortir comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT into personnel VALUES(1,'DUPONT','Jean','07/25/1980',...
    NB : J'ai supposé que cin était un champ numérique.

    Roland
    Roland

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Ton problème est un problème pratiquement purement VB (ou access ), tu devrais demander à un modérateur par message privé de déplacer ton post sur le forum ad hoc.

    Néanmoins voilà quelques remarques :
    1/Pour voir le contenu de ce que tu passes à ton objet Commande tu peux utiliser debug.print.
    Ce qui donnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    conCMD.CommandText = "INSERT into personnel VALUES(cin,nom,prenom,datene,lieune,situationfamille,nompere,nommere,adresse,sexe,photo)"
    S
    Debug.print conCMD.CommandText
    2/ tu devrais nommer tes objets avec des noms parlants, il est beaucoup plus simple de lire
    nompere = TxtNomMere.Text et de se dire zut, je me suis trompé entre le père et la mère, plutot que de s'en rendre compte en lisant :nompere = Text7.Text

    3/ Si tu fais ce que je t'ai suggéré en 1/ tu te rendras compte que conCMD.CommandText ne ressemble pas du tout à INSERT into personnel VALUES(1,'DUPONT','Jean','07/25/1980' . en effet il n'ya aucun lien entre la chaine de caractère "lieune" et la variable lieune.
    Pour avoir ce que tu souhaites il te faudrait concaténer une chaine de caractères avec les valeurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    conCMD.CommandText = "INSERT into personnel VALUES('" & cin & "'," & nom ...
    J'ai juste commencé pour que tu comprennes le principe.
    4/ au niveau SQL il faut toujours éviter de mettre des insert sans préciser la liste des champs avant values car lorsque tu rajoutes un champ cela ne fonctionne plus
    A+
    Soazig

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    On ne devrait JAMAIS, dans un programme, émettre la commande
    INSERT INTO xxx VALUES ... sans liste les colonnes que l'on va retrouver dans le values, c'est aussi dangereux qu'un SELECT *
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Points : 7
    Points
    7
    Par défaut probleme resolu
    salut,
    je tiens de vous remercier une autre fois , et que le probleme est resolu

  6. #6
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    N'oublie pas d'ajouter le tag [Résolu] au titre du sujet
    Roland

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

Discussions similaires

  1. PROBLEME avec INSERT INTO
    Par funkyjul dans le forum Développement
    Réponses: 5
    Dernier message: 20/02/2009, 11h01
  2. probleme avec insert into oracle c# en asp dotnet
    Par brajae85 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 26/08/2008, 02h23
  3. probleme avec insert into
    Par diawdji dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 28/01/2008, 02h00
  4. probleme avec insert into
    Par pseudobidon57 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 09/10/2007, 14h05
  5. Probleme avec INSERT INTO et select
    Par jmjmjm dans le forum Requêtes
    Réponses: 9
    Dernier message: 28/01/2007, 22h51

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