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 :

requete insert INTO [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut requete insert INTO
    Bonjour,

    j'ai pourtant l'habitude d'utiliser la requête INSERT mais la je bug :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requete = "INSERT INTO Element(Distgauche,Distgout,lon,lar,zone,nom,id_proj) VALUES('100','100','100','100','100','100','26');";
    J'ai un erreur dans la reqûete INSERT INTO d'après le compilateur.
    J'útilise une base access.
    Pour être sûr de ne pas faire d'erreur de type j'ai recréer ma table élément et il n'y a que des string ...

    Merci.

  2. #2
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    bonjour,

    copie/colle la requête obtenue dans access et tu verras bien ce qu'il va te dire...

    Sinon c'est quoi ton erreur? Je ne vois actuellement rien de particulier

  3. #3
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut re
    Merci de ton attention:

    Je ne comprend pas !!! l'erreur est " Erreur de syntaxe dans l'expression INSERT INTO"

    je viens de détruire ma table et de la recréer, la requête onctionne avec toutes les autres tables mais pas la nouvelle. Il doit y avoir un truc.
    je vais m'exliquer un peu plus. Je souhaite après un enregistrement dans une table récupérer 'id auto généré que j'inclus dans mon deuxieme INSERT (les tables sont liés par cet id)
    Je copie colle au cas ou ...

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    // J'ajoute une row a mon datatable et cela plusieurs oir si il y a plusieurs objets
     
     DataRow ElementRow = Elem.NewRow();
                ElementRow["Dgauche"] = Element.Distgauche;
                ElementRow["Dgout"] = Element.Distgout;
                ElementRow["Lar"] = Element.Lon;
                ElementRow["Lon"] = Element.Lar;
                ElementRow["Zone"] = Element.Zone;
                ElementRow["Nom"] = Element.Nom;
                ElementRow["Idproj"] = id_projet;
                Elem.Rows.Add(ElementRow);
     
    // Je boucle les rows pour creer des tableaux de string que j'envois dans la ethode de ma classe Base_donnees
    foreach(DataRow row in Elem.Rows)
                            {
                                reussi = false;
                                newelem = new string[7];
                                newelem[0] = row["Dgauche"].ToString();
                                newelem[1] = row["Dgout"].ToString();
                                newelem[2] = row["Lar"].ToString();
                                newelem[3] = row["Lon"].ToString();
                                newelem[4] = row["Zone"].ToString();
                                newelem[5] = row["Nom"].ToString();
                                newelem[6] = id_projet.ToString();
     
                                IdEtat = Base_Donnees.Ajouter_Un_Enreg_A_Une_Table("Elem", newelem);
     
    //Une ois dans la classe ca done ca
     
    public Dictionary<int, bool> Ajouter_Un_Enreg_A_Une_Table(DataTable table, string[] Enreg)
    		{
    			/* Pour chaque champs de l'enregistrement en question 
    			 * On va créer la chaine nécessaire à l'ajoût d'un enregistrement */
    			string proprietes="";
     
    			for(int i=0;i<Enreg.Length;i++)
    			{
    				proprietes += (Enreg[i] + ",");
    			}
    			//on enlève la virgule de fin de chaîne
    			proprietes=proprietes.Substring(0,proprietes.Length-2);
     
    			//on  vérifie que l'ajoût c'est bien passé 
    			return (this.SQL.Ajouter_Un_Enreg(table,proprietes));
    		}
     
    public Dictionary<int, bool> Ajouter_Un_Enreg(DataTable Table, string proprietes)
    		{
    			bool Etat=false;
     
    			OleDbConnection connec=new OleDbConnection(this.ParametresConnection);
                Dictionary<int, bool> IdEtat = new Dictionary<int, bool>();
    			string champs="";
    			//on crée une string qui va prendre tous les noms des champs
    			//sauf l'ID
    			for(int i=1;i<Table.Columns.Count;i++)
    				champs+=Table.Columns[i].ColumnName + ",";
    			//pour enlever la virgule de fin de chaine
    			champs=champs.Substring(0,champs.Length-1);
     
    			try
    			{
                    string requete = "INSERT INTO " + Table + "(" + champs + ") VALUES(\'" + proprietes + "\');";
                   // requete = "INSERT INTO Elem(Dgauche,Dgout,Lar,Lon,Zone,Nom,Idproj) VALUES('100','100','100','100','100','100','26');";
                    //requete = "INSERT INTO usager(_user,_pwd) VALUES('100','100');";
                    OleDbCommand command=new OleDbCommand(requete,connec);
    				connec.Open();            
    				Etat=(command.ExecuteNonQuery()>0);
                    OleDbCommand command2 = new OleDbCommand("SELECT @@IDENTITY", connec);
                    int Id = Convert.ToInt32(command2.ExecuteScalar());
     
                    IdEtat[Id] = Etat;
    				connec.Close();
    			}
    			catch
    			{
    				Etat=false;
    			}
     
                return IdEtat;
    		}

  4. #4
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Je vois rien de particulier non plus. Peut-être utiliser les requêtes paramétrées pour éviter les problèmes de conversion (entre autres choses).

    +1 pour le message d'erreur
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  5. #5
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut
    infosam76 as tu vu le code que j'ai posté ?
    Je ne sais pas aire de requetes paramêtré, je débute ... Mais ma table est en string et j'ai essayé avec une requete de purs strings sans passer par ma classe et cela ne fonctionne pas non plus :/

  6. #6
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut
    Si quelqu'un a une idée

  7. #7
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    On a posté en même temps ;-) je suis en train de regarder ton code ;-)
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

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

Discussions similaires

  1. pd codage ASP : Pb requete insert into
    Par leclone dans le forum ASP
    Réponses: 10
    Dernier message: 19/05/2006, 18h02
  2. Probleme de requete 'Insert Into'
    Par azerty53 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/05/2006, 14h33
  3. Requete INSERT INTO
    Par cheers94wow dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/05/2006, 11h13
  4. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2005, 15h17
  5. Erreur lors d'une requete insert into.. select
    Par Mr N. dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/11/2004, 17h32

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