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 :

insértion de données avec interbase


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 24
    Points : 15
    Points
    15
    Par défaut insértion de données avec interbase
    Bonjour,
    pour insérer mes données dans ma base je fais comme ça avec delphi4 sur Interbase.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    QChantier: TQuery;
    INSERT INTO CHANTIER(CHA_ID,CLI_CODE,MAR_CODE) VALUES (:pChaId,:pCliCode,:pMarCode)
    QChantier.ParamByName('pChaId').AsFloat:=StrToFloat(Id.text);
    QChantier.ParamByName('pCliCode').asFloat:=StrToFloat(Code.text);
    QChantier.ParamByName('pMarCode').AsString:=Marche.text;
    Le problème est que je dois des valeurs NULL à pChaID ou à pCliCode quelque fois donc ça m'oblige à faire
    qlq chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO CHANTIER(CHA_ID,CLI_CODE,MAR_CODE) VALUES (NULL,:pCliCode,:pMarCode) ou  
    INSERT INTO CHANTIER(CHA_ID,CLI_CODE,MAR_CODE) VALUES (NULL,NULL,:pMarCode)....
    alors que j'ai plus de paramètres que ceux là avec une requête plus longue.
    Si qlq sait comment faire pour limiter le dégat.
    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Je ne me suis pas très bien exprimer sur mon problème.
    Le truc c'est que avec cette méthode que j'utilise je dois répéter la requête plusieurs fois surtout quand j'ai plus de 10 paramètres. Ce que je cherche c'est une façon d'affecter le NULL dans mes paramètres et donc de travailler avec juste une seule requête.
    Merci d'avance .

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Salut
    Ce serait bien si nicassy pouvait dire comment il a résolu son problème d'insertion. J'ai un problème similaire et sa réponse pourrait m'être utile.
    Merci d'avance pour vos réponses.

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Ah, j'oubliais! J'utilise delphi 5 Pro avec Interbase 5.5.
    Merci!

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    C'est très con en fait, tu mets ta requête dans une variable string avant de l'exécuter et ça donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    with QChantier do
          begin
              Close;
              SQL.Clear;
     
              sCliCode:= EDCodeClient.text;
              if sCliCode=''then  sCliCode:= 'NULL'
              else  sCliCode:= '"'+EDCodeClient.text+'"';
              sValeurNull:='INSERT INTO CHANTIER(CHA_ID,CLI_CODE VALUES (:pChaId,'+sCliCode+')';
    SQL.Text:=sValeurNull;
    QChantier.ParamByName('pChaId').AsFloat:=QYConsult.fieldByName('CHA_ID').asFloat;
                QChantier.execsql;
              QChantier.Close;
          end;
    Amusez- vous bien!

  6. #6
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 62
    Points : 59
    Points
    59
    Par défaut
    Serais-ce possible de faire l'insertion avec un TUpdateSQL?

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

Discussions similaires

  1. Bases de données avec interbase
    Par infoskikda dans le forum Bases de données
    Réponses: 5
    Dernier message: 12/04/2011, 11h03
  2. Réponses: 4
    Dernier message: 21/01/2009, 16h35
  3. [Debutant] Insertion données dans interbase avec Delphi
    Par mat777 dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/02/2008, 15h31
  4. JBuilder avec Interbase / JDataStore
    Par Ho(c)ine. dans le forum JBuilder
    Réponses: 2
    Dernier message: 06/01/2003, 11h03
  5. Generateur avec interbase 6
    Par tripper.dim dans le forum InterBase
    Réponses: 4
    Dernier message: 20/11/2002, 08h13

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