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

ASP.NET Discussion :

[1.1] Date NULL d'un formulaire ASP vers SQLserver


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 18
    Points : 17
    Points
    17
    Par défaut [1.1] Date NULL d'un formulaire ASP vers SQLserver
    Bonjour
    J'ai un formulaire ASP qui met a jour une DB SQL server 2003, mon probleme est que si un champ date est vide à la saisie la requete ajoute 1/01/1900 0:00:00 a ma table et pas NULL pour ce champ


    J'ai essayé VarDate ="NULL" VarDate = "" VarDate = NULL varDate=system.dbnull.value , varDate = nothing mais toujurs le même résultat: 1/01/1900 0:00:00

    Merci d'avance pour votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Points : 270
    Points
    270
    Par défaut
    je pense que ce n'est pas possible d'avoir une date avec la valeur NULL.
    comme tu l'as dit, ce sera toujours 1/01/1900.

    Un moyen peut être de stocker la date dans un champs de type varchar.

    Là tu pourras avoir la valeur NULL.

    Mais pourquoi vouloir absolument ce résultat nul ??

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2006
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Voilà comment nous, nous faisons notre traitement au moment de la mise à jour, nous avons un syteme d'accès à la base, je fais donc un traitement préalable ci dessous.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TestSiDateEstNothing(row.Cells.FromKey("dtPrevReunionNotaire").Value)
    La fonction qui effectue le test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     Private Function TestSiDateEstNothing(ByVal dt As DateTime) As Object
     
            If dt.Year = 1 Then Return Nothing
     
            Return dt
     
        End Function
    Maintenant la partie qui gére l'accès à la base et effectue les traitements avant la sauvegarde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dsTempo.tables(0).rows(0)("dtPrevReunionNotaire") = IIf(Me.dtPrevReunionNotaire = Nothing, DBNull.Value, Me.dtPrevReunionNotaire)
    Je transforme en nothing car notre composant qui accéde au données est typé (1er traitement)
    Le composant juste avant l'update voyant que c'est du nothing pour une date, fait la transformation de nothing en null.

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Points : 124
    Points
    124
    Par défaut
    Il y a une solution c'est de mettre quand tu fais l'UPDATE de ta base ou bien l'INSERT tu mets DEFAULT dans le champ DATE de ta requête et dans ta base (définition de table) tu mets en valeur par défault 00/00/0000 00:00:00 et ainsi tu auras une date à zéro mais tu peut aussi mettre NULL dans ta requête cela fonctionne.

    Je le fais moi même sous SQL Server 2005 , sous MYSQL aussi et sous ACCESS également.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Points : 270
    Points
    270
    Par défaut
    oups, je pensais qu'on ne pouvait pas avoir de date avec la valeur null...
    mais effectivement, c'est vrai que c'est possible.

Discussions similaires

  1. [SQL-Server] Différence d'interprétation de date en PHP par rapport à ASP sur SQLServer
    Par berceker united dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/06/2006, 16h28
  2. [Delphi & DBExpress ] Mettre un champs date à null
    Par falcon dans le forum Bases de données
    Réponses: 10
    Dernier message: 03/11/2004, 08h21
  3. Date nulle dans une requete paramétrée avec TParameter
    Par denrette dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2004, 08h37
  4. recherche Date nulle dans une table
    Par lol_adele dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/04/2004, 14h06
  5. Formulaire ASP et base Oracle8i
    Par dvessier dans le forum ASP
    Réponses: 4
    Dernier message: 18/12/2003, 10h15

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