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 :

Exécution de query Unidac - Données de chaîne ou binaires seront tronquées


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 93
    Points
    93
    Par défaut Exécution de query Unidac - Données de chaîne ou binaires seront tronquées
    Bonjour à tous,

    je travail avec Delphi et les composants UNIDAC de DevArt pour communiquer avec des bases de données de type Sql server ou Firebird (Notre application fonctionne sous les 2 systèmes).

    J'ai rencontré un problème un peu spécial que j'aimerais bien élucidé. Il ne se produit qu'avec les bases de données SQL Server, tout fonctionne bien avec Firebird.
    J'ai reproduit le problème dans une petite application de la manière suivante :

    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
    Procedure TForm1.ExecQry(prepare_ : Boolean;
                             LabelOK_, LabelKO_ : TLabel );
    Begin
         UniQuery1.UnPrepare;
         UniQuery1.Close;
         UniQuery1.SQL.Clear;
         UniQuery1.LockMode:=lmOptimistic;
     
         LabelOK_.Visible:=False;
         LabelKO_.Visible:=False;
         Memo2.Clear;
     
         Try
            UniQuery1.SQL.Add(Memo1.Lines.Text);
            UniQuery1.Filtered:=False;
            UniQuery1.ReadOnly:=False;
            UniQuery1.RefreshOptions:=[roAfterUpdate];
            UniQuery1.Options.StrictUpdate:=False;
            If prepare_ = True Then UniQuery1.Prepare;
     
            If UniQuery1.IsQuery = True Then
            UniQuery1.Open
            Else
            UniQuery1.ExecSQL;
     
            LabelOK_.Visible:=True
         Except
               On E:Exception Do
               Begin
                    LabelKO_.Visible:=True;
                    Memo2.Text:=e.Message;
               End;
         End;
    End;

    Lorsque j'exécute les requêtes suivantes (Donc le contenu de Memo1 dans le code ci-dessus) - (Les sauts de lignes et les majuscule sont importants)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update egammes set validation = 'False' where validation is null
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE EGAMMES SET VALIDATION = 'False' 
    WHERE VALIDATION IS NULL
    Tout fonctionne bien.

    Par contre, lorsque j'exécute la requête suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE EGAMMES SET VALIDATION = 'False' WHERE VALIDATION IS NULL
    Qui me semble identique en type. Seuls les sauts de ligne ou la casse changent. Le système me retourne le message suivant :
    L'instruction a été arrêtée.
    Les données de chaîne ou binaires seront tronquées.
    J'avoue que je ne comprend pas du tout ce fonctionnement.

    Quelqu'un a-t-il une idée de ce qu'il se passe?

    Merci d'avance.
    ¨
    Noémie

  2. #2
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 93
    Points
    93
    Par défaut
    Désolée, le type de mon champ était incorrecte.

    Je ne sais pas pourquoi dans un cas j'avais une erreur et pas dans l'autre (J'aurais dû en avoir une dans tous les cas). Mais au moins, j'ai compris là où je m'étais trompée.

    Merci quand même

    Noémie

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

Discussions similaires

  1. Les données de chaîne ou binaires seront tronquées.
    Par helios77 dans le forum Développement
    Réponses: 1
    Dernier message: 23/02/2012, 15h13
  2. Données chaines ou binaires seront tronquées
    Par mimi74 dans le forum SQL
    Réponses: 4
    Dernier message: 09/04/2009, 09h50
  3. Les données chaîne ou binaires seront tronquées
    Par ecoinfo dans le forum ASP.NET
    Réponses: 3
    Dernier message: 12/02/2009, 17h04
  4. [Système] Exécuter un bloc PHP dans une chaîne
    Par ideal dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2006, 17h15
  5. [Système] Exécution Formule de calcul dans une chaîne
    Par san--antonio dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2006, 09h11

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