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 :

ORACLE et champs vide


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 138
    Points : 89
    Points
    89
    Par défaut ORACLE et champs vide
    Voila, j'initialise une base Oracle et j'ai mes champs avec une propriété NOT NULL.
    Je travaille en ADO.

    Or en utilisant monQuery.FieldByName('monChamps').Value =: '';

    lors de l'enregistrement, j'ai une erreur m'indiquant que je ne peux inserer NULL.

    Il semble donc que l'ADO traduise ma chaine vide en NULL.

    Comment contounrer le soucis (sans changer la propriété NOT NULL bien entendu) afin d'insérer des chaines vides.

    Merci

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Tu ne peux pas, comment veux tu insérer des données "vide" dans un champ qui n'accepte pas les "vides" ?

    NULL = Vide = rien = ''
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    bonjour,
    je ne sais pas si ton pb est toujours d'actualité mais bon il existe au moins une solution "presque" propre....


    monQuery.FieldByName('monChamps').DataType := ftMemo;

    le pb est réglé et tu n'as plus la limite des 255ch également...

    une bonne question serait de savoir pourquoi tout le monde n'a pas ce pb... J'utilise D7 comme mes collègues et je suis le seul a devoir en passer par là en utilisation des objets ADO... Donc si quelqu'un a une solution pour optimiser cela

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le fait c'est qu'il est abérant de vouloir mettre un champ à NULL quand le champ n'accepte pas les NULL ...
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    une chaine vide est différente d'une valeur Null

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Ca depend du SGBD et à ma connaisance il me semble qu'il n'y a qu'ACCESS qui fait la différence entre chaine vide et NULL, sinon pour tous les autres vide = NULL
    Après reste le soucis du drivers ODBC qui va traduire '' en chaine vide ou NULL.
    Mais bon dans 90% des cas '' = NULL
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Pour moi le pb vient bien des objets ADO (avec les objets BDE je n'avais pas le pb par exemple quelques soit le SGBD), ils doivent se baser sur une des couches windows (MDAC ou microsoft jet, je ne pense pas que cela vienne de l'ODBC puisque commun a tous ce qui font du Win32...). Pour la MDAC j'ai la version d'il y a 2-3 mois et j'ai Access2003 donc ça doit bien venir d'un paramétrage mais lequel ????

  8. #8
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Rapport avec le shmilblick
    T'as du oublier des phrases ^^

    Enfin bon il faut pas prendre ACCESS en référence, car il y a plein de fonctions qui n'existe pas dans les autres SGBD, ACCESS est un cas à part.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    bin non y a tout
    sauf que dans ma recherche j'ai pas fais gaffe que j'étais dans la partie ORACLE
    Sinon de mémoire la couche MDAC vient bien s'intercaler entre l'ODBC et le Microsoft jet d'Access... Les objets Dephi s'appuyant sur ces couches mon pb perso vient surement de là... c'est tout.

    Maintenant on est bien d'accord qu'ACCESS est loin d'être une référence...

  10. #10
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Citation Envoyé par Malatar
    à ma connaisance il me semble qu'il n'y a qu'ACCESS qui fait la différence entre chaine vide et NULL
    Non il y a aussi SQL Server 2000, 2005, et en cela, je pense qu'il repecte la norme SQL, où null<>''

  11. #11
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par Eric.H
    Non il y a aussi SQL Server 2000, 2005, et en cela, je pense qu'il repecte la norme SQL, où null<>''

    J'avais un doute sur SQL serveur (faut que je le reinstall d'ailleur ^^), maintenant faut voir si Oracle fait la différence (la faut un pro d'oracle )
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  12. #12
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    J'ai eu aussi la surprise désagréable de constater que sous Firebird, Null <> vide aussi.
    A+
    On progresse .....

  13. #13
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Citation Envoyé par Andry
    J'ai eu aussi la surprise désagréable de constater que sous Firebird, Null <> vide aussi.
    A+
    Ce n'est pas une surprise, il s'agit je pense de la norme SQL

    ''<>null 0<>null

  14. #14
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par Eric.H
    Ce n'est pas une surprise, il s'agit je pense de la norme SQL

    ''<>null 0<>null

    Faudrait demander au pro du forum SQL
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. Vue Oracle champ vide
    Par bernards111 dans le forum Débuter
    Réponses: 2
    Dernier message: 12/07/2013, 14h30
  2. Les champs vides dans oracle
    Par Rymaya dans le forum Oracle
    Réponses: 5
    Dernier message: 09/02/2012, 14h04
  3. [Forms]champs vide d'oracle forms
    Par med_anis_dk dans le forum Forms
    Réponses: 2
    Dernier message: 29/05/2006, 01h19
  4. [conception] champs vides ou plusieurs tables ?
    Par in dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 17/02/2004, 08h41
  5. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40

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