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 Delphi Discussion :

[Application] Chaine de + de 255 caractéres


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Avatar de Righetto Dominique
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2002
    Messages : 81
    Points : 149
    Points
    149
    Par défaut [Application] Chaine de + de 255 caractéres
    Bonjour,
    Je désire effectuer une requête SQL avec un ADOCommand via une variable de type WideString car en utilisant String, le compilateur m'indique qu'il y à trop de caractére pour utiliser ce type, mon probléme est que même un changeant le type de la variable, il bloque toujours sur la longueur de la chaine,
    voici la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    requeteSQL                          : WideString;
     
     ADOCommand1.CommandType := cmdText;
    requeteSQL := 'INSERT INTO PRODUIT(libelleProduit,numSAPProduit,NumTIREProduit,dateInsertionProduit,dateDerniereImpressionProduit,posteOperationProduit,detailUtilisationProduit,detailProtectionCollectiveProduit,interditFumerProduit,';
            requeteSQL := requeteSQL + 'interditMelangerProduit,infoCplProduit,detailConditionHygienneProduit,infoCplDechetProduit,deversementProduitConcentrerProduit,deversementProduitDiluerProduit, natureRisquePeauProduit,natureRisqueYeuxProduit, natureRisqueSystRespProduit, natureRisqueAutreProduit, infoRenversementProduit, infoProjectionProduit, infoIncendieProduit,dateDerniereModificationProduit,toxiciteProduit,InflammabiliteProduit,reactiviteProduit, presentSurServeurDistant,idFamille,idDechet, idUtilisateur)';
            requeteSQL := requeteSQL + 'VALUES(' + libelleProduit + ',' + numSAPProduit + ',' + NumTIREProduit + ',' + dateInsertionProduit + ',' + dateDerniereImpressionProduit + ',' + posteOperationProduit + ',' + detailUtilisationProduit + ',' + detailProtectionCollectiveProduit + ',' + interditFumerProduit + ',' + interditMelangerProduit + ',' + infoCplProduit + ',' + detailConditionHygieneProduit + ',' + infoCplDechetProduit + ',' + deversementProduitConcentrerProduit + ',' + deversementProduitDiluerProduit + ',' + natureRisquePeauProduit + ',' + natureRisqueYeuxProduit + ',' + natureRisqueSystRespProduit + ',' + natureRisqueAutreProduit + ',' + infoRenversementProduit + ',' + infoProjectionProduit + ',' + infoIncendieProduit + ',' + dateDerniereModificationProduit + ',' + toxiciteProduit + ',' + InflammabiliteProduit + ',' + reactiviteProduit + ',' + presentSurServeurDistant + ',' + idFamille + ',' + idDechet + ',' +  idUtilisateur + ')';
    ADOCommand1.CommandText := requeteSQL ;
    J'ai vu en cherchant que la modification du commutateur {$H+} pourrait m'aider à résoudre mon probléme mais voilà je ne le trouve pas ?
    je travaille avec Delphi 6 Entreprise Edition et Windows XP Pro & 2000 Pro
    Merci d'avance
    Geek inside

  2. #2
    Invité
    Invité(e)
    Par défaut
    Extrait de l'aide de Delphi.
    Le mot réservé string fonctionne comme un identificateur de type générique. Par exemple*:

    var S: string;

    crée une variable S contenant une chaîne. Dans l'état par défaut {$H+}, le compilateur interprète string (quand il apparaît sans être suivi d'un crochet ouvrant) comme désignant AnsiString. Utilisez la directive {$H–} pour que string soit interprété comme désignant ShortString.
    {$H+} correspond à cocher la case "Chaînes vastes" de Projet->Options->Compilateur. Apparament cette option est décoché dans ton projet.

  3. #3
    Membre habitué
    Avatar de Righetto Dominique
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2002
    Messages : 81
    Points : 149
    Points
    149
    Par défaut
    Merci,
    j'ai beau regarder et essayer, je ne trouve pas cette option, voici une copie d'écran de la form d'option du projet
    http://drighetto.free.fr/copieEcranDelphi.jpg
    Merci d'avance
    Geek inside

  4. #4
    Invité
    Invité(e)
    Par défaut
    "Chaînes vastes" = "Huge strings" en anglais.

  5. #5
    Membre habitué
    Avatar de Righetto Dominique
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2002
    Messages : 81
    Points : 149
    Points
    149
    Par défaut
    Slt,
    Je essayé avec et sans cette option et j'ai toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Error] Unit2.pas(618): String literals may have at most 255 elements.
    donc
    Geek inside

  6. #6
    Invité
    Invité(e)
    Par défaut
    J'ai trouvé !! Ce sont les chaînes qui sont les lignes de code dans l'IDE qui sont trop longue !!!
    Il faut tronquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    requeteSQL := 'INSERT INTO PRODUIT(libelleProduit, ... // moins de 255
    requeteSQL := requeteSQL +'...' // moins de 255
    etc...

  7. #7
    Membre habitué
    Avatar de Righetto Dominique
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2002
    Messages : 81
    Points : 149
    Points
    149
    Par défaut
    OK c'est bon je viens de corriger et cela fonctionne,
    Merci beaucoup pour ta précieuse aide
    Geek inside

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

Discussions similaires

  1. Compactage chaine caractre superieur à 255 caractère
    Par Sam 069 dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/07/2008, 13h57
  2. Réponses: 4
    Dernier message: 22/05/2006, 11h53
  3. Plus de 255 caractères
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 13/03/2006, 17h01
  4. Variables string limité à 255 caractères?
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 27/01/2006, 15h29
  5. SQL de plus de 255 caractères dans un recordset
    Par acama dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 05/01/2006, 15h50

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