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

Bases de données Delphi Discussion :

[rad-studio MsSql] Commande insert avec parametre


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [rad-studio MsSql] Commande insert avec parametre
    Bonjour

    J'aurais besoin de votre aide pour créer une commande SQL avec insert.

    Mes besoins sont que je veux entrer dans une commande select environ 20 valeurs textes et ou chiffres lors de création d'un enregistrement ceci est pour enregistrer les données (style formulaire) dans une table. Mon problème vient que je veux copier dans des variables les données après insertion pour les enregistrer dans le formulaire suivant et corriger seulement les informations qui ont changés.

    En résumé j'ai 20 variables que je mets dans des paramètres style...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       msquery1.Active:=FALSE;
       MSQUERY1.SQL.TEXT :='INSERT INTO FORMULAIRE.DBO.INFORMATION VALUES ( VR, CAM, DAT9,TAXE,REQ,DEP,ARR,..........)';
     
       msquery1.ParamByName('VR').AsString:=  VR ;
       msquery1.ParamByName('CAM').AsString:= CAMION ;
       msquery1.ParamByName('DAT9').AsString:= DATE9;
       msquery1.ParamByName('TAXE').AsString:= TX ;
       msquery1.ParamByName('REQ').AsString:= REQ ;
       msquery1.ParamByName('DEP').AsString:= DEPART;
       msquery1.ParamByName('ARR').AsString:= ARRIVE ;

    La suite des données sont conforme dans l'ordre des champs de la table

    Merci de votre aide

    Mario

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il faut spécifier les noms des paramètres avec des ":", tu n'as pas d'identity dans ta table ?
    Je trouve plus lisible et plus sûre de spécifier les colonnes dans les insert.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO formulaire.dbo.information FORMULAIRE.DBO.INFORMATION (VR, CAM, DAT9, ...) VALUES (:vr, :cam: dat9, ...)

    Après tu lances un update global sinon il faut stocker tes champs dans un objet, dès que l'utilisateur modifie le champ tu mets un flag comme quoi il a été mis à jour, à l'enregistrement tu construis dynamiquement ton update.
    Dernière modification par tourlourou ; 14/07/2018 à 10h02.

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [rad-studio MsSql] Commande insert avec parametre
    Bonjour

    Merci pour votre aide.

    Une petite question supplémentaire . Qu'elle est la quantité d'information que je peux placer dans un insert , update , select, J'ai lu que je peux aller a 4 k.
    Est-ce exact ou c'est moins.

    Bonne journée

    Mario

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [rad-studio MsSql] Commande insert avec parametre
    Oup!

    c'est la première fois que ca arrive

    J'ai oublié de vous demander comment on écrit la commande quand on dépasse 255 caractères J'ai un message d'erreur lors de la compilation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MSQUERY1.SQL.TEXT :='INSERT INTO formulaire.dbo.information FORMULAIRE.DBO.INFORMATION (VR, CAM, DAT9, ...) VALUES (:vr, :cam: dat9, ...)
    Merci

    Mario

  5. #5
    Invité
    Invité(e)
    Par défaut
    Pour le nombre maximum je ne sais pas, mais je dirais que cela dépend de ton champ en base. Si c'est un VARCHAR(MAX) tu peux faire ce que tu veux je pense.

    Sur les Query utilise plutôt le Append plutôt que de setter le texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Qry.SQL.Append('INSERT INTO (...)');
    Qry.SQL.Append('VALUES(:a, :b, ...)');
    Sinon pour passer la limite il suffit de concaténer sur une deuxième ligne.

  6. #6
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [rad-studio MsSql] Commande insert avec parametre
    Bonjour

    Quand vous dite
    Sinon pour passer la limite il suffit de concaténer sur une deuxième ligne.
    comment je dois faire si sur la première ligne je dépasse 255 caractères
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Qry.SQL.Append('INSERT INTO (...    plus grand que 255 car.....)');
     Qry.SQL.Append('VALUES(:a, :b, ...   plus grand que 255 car......)');

    comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Qry.SQL.Append('INSERT INTO (vr,...');
     Qry.SQL.Append('cam,dat9');
     Qry.SQL.Append('champ10,champ11');
     Qry.SQL.Append('VALUES(:a, :b, ...)'); 
     Qry.SQL.Append(':v, :y)');
    merci de votre aide

    Mario

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

Discussions similaires

  1. [rad studio-MsSql] Insert et Update dans une transaction
    Par mario9 dans le forum Bases de données
    Réponses: 5
    Dernier message: 12/07/2018, 19h29
  2. Réponses: 4
    Dernier message: 09/03/2015, 16h30
  3. [Débutant] commande INSERT avec 150 champs numerotés
    Par thierry007 dans le forum VB.NET
    Réponses: 1
    Dernier message: 30/05/2014, 18h28
  4. Réponses: 1
    Dernier message: 21/01/2010, 14h20
  5. [Runtime]Commande avec paramètre
    Par greg1602 dans le forum Général Java
    Réponses: 19
    Dernier message: 15/11/2005, 14h20

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