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 :

Comment mettre un Array dans ma requête d'insertion SQL ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2013
    Messages : 42
    Par défaut Comment mettre un Array dans ma requête d'insertion SQL ?
    Bonjour tout le monde !

    Je dispose d'un Array nommé "ar_nutri" en string.

    Je souhaite l'intégrer dans ma requette d'insertion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command.CommandText = "INSERT INTO nouv_alim ( ici je veux mon Array ) VALUES ('" + nomTextBox.Text + "', " + labelKcal.Text + ", " + ProtidesBox.Text + ", " + GlucidesBox.Text + ", " + LipidesBox.Text + ")";
    J'ai cherché toute la journée, en vain.

    Merci pour votre aide.
    Patrick

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Bonjour,

    A l'emplacement où tu souhaites placer ton tableau, la syntaxe du langage SQL attend la liste des noms de colonnes, séparées par des virgules, dans lesquelles tu veux placer les valeurs définies après le mot clé VALUES.
    C'est donc à toi, en fonction du langage applicatif que tu utilises, de convertir ce tableau de chaines de caractères sous la forme d'une unique chaîne respectant la syntaxe du langage SQL. En supposant bien sûr que ce tableau contient bien les noms de colonnes.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2013
    Messages : 42
    Par défaut
    Merci al1_24,

    Oui, mon array contient bien le nom des colonnes.
    Donc, il faut que je cherche à convertir cet array en chaine de caractères pour SQL.

  4. #4
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2013
    Messages : 42
    Par défaut
    Voilà, j'ai réussi.

    Je convertis mon array " ar_nutri" en chaine de caractères avec un virgule entre chaque élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var str1 = String.Join(", ", ar_nutri);
    Ma requête devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command.CommandText = "INSERT INTO nouv_alim ("+str1+" ) VALUES ('" + nomTextBox.Text + "', " + labelKcal.Text + ", " + ProtidesBox.Text + ", " + GlucidesBox.Text + ", " + LipidesBox.Text + ")";
    Cela fonctionne parfaitement.
    Il me reste à faire l'équivalent pour les valeurs.

    Pour l'instant il n'y a que 5 colonnes et 5 valeurs, mais à terme, il y en aura une trentaine...
    C'est pour quoi j'utilise des Array, faute de quoi, ma requête serait vraiment très longue...

    Encore merci pour votre aide !

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Citation Envoyé par Patrick-06 Voir le message
    Pour l'instant il n'y a que 5 colonnes et 5 valeurs, mais à terme, il y en aura une trentaine...
    30 colonnes, dans la même table, dont les informations proviennent d'un IHM ...

    Je pense que tu aurais intérêt à nous présenter ton modèle de données, avant que ton dev ne devienne trop important.

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2013
    Messages : 42
    Par défaut
    Merci Michel,

    J'utilise SQLite.
    Pour l'instant, j'ai une table de composition des aliments dont les données proviennent de la base CIQUAL. (Ils fournissent les données Excel ou CVS)
    Une table vide identique pour ajouter de nouveaux aliments, je joint ces deux tables.
    Une table avec le nom des nutriments.
    J'utilise des vues pour manipuler les données.

    Pour l'instant, j'ai fait :
    - Une interface pour chercher un aliment et pour visualiser tous ses nutriments, Calories, Proteines, Vitamines, minéraux...etc.
    Il y a aussi des combobox pour trier les aliments selon le + de ou le - de chacun des nutriments, par exemple le plus de vitamine C.
    - Une interface pour ajouter de nouveaux aliments.

    Il me reste à faire, en particulier l'interface pour saisir les aliments consommés dans la journée et les rapports de ce qui a été consommé par jour, semaine, etc.

    Donc beaucoup de boulot sur la planche !

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 03/10/2007, 11h25
  2. Comment mettre aucune valeur dans Array of integer?
    Par Ardely dans le forum Langage
    Réponses: 10
    Dernier message: 02/08/2007, 18h15
  3. Réponses: 13
    Dernier message: 26/08/2005, 16h34
  4. Comment mettre une icone dans un bouton ?
    Par Hokagge dans le forum MFC
    Réponses: 7
    Dernier message: 29/06/2005, 20h28
  5. COMMENT METTRE 2 CHAMPS DANS LE MEME DBLOOKUPCOMBOBOX
    Par ledevelopeur dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/07/2004, 15h15

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