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

Développement SQL Server Discussion :

Problème insertion texte champs CHAR


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Problème insertion texte champs CHAR
    Bonjour,

    J'ai fait une petite db en sql server express pour la gestion du pointage par téléphone de quelques personne de mon entreprise.

    J'ai créé un champs char ou j'aimerais insérer la date et l'heure avec une spécification du type de pointage. Par exemple: 201307161016E pour une entrée ou 201307161016EM pour une entrée mission.

    Le hic c'est que lorsque j'indique 201307161016E, il me transforme cela en 2.01307e+011 lors de l'insert. Quand je veux insérer 201307161016EM, il me met une erreur à cause du M.

    J'ai essayé de changer de type: char, nchar, vchar, ... mais c'est toujours le même résultat. Est ce que quelqu'un pourrait m'aider?

    Un grand merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Et avec un champ datetime, ça serait trop simple ?

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Normalisez votre DB. En l'état, elle ne respecte même pas la première forme normale...

    Jusqu'à sql server 2005, utilisez une colonne de type DATETIME pour stocker la date et l'heure et une autre colonne pour stocker le type de pointage (que vous feriez d'ailleurs bien d'externaliser dans une table de référence).

    A partir de sql server 2008, utilisez une colonne de type DATE pour stocker la date et une colonne de type TIME pour stocker l'heure. Aucun changement pour le type de pointage par rapport à sql server 2005.

    Vous verrez que vos traitements en seront grandement facilités.
    Kropernic

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Je vais essayer mais j'ai peur pour le E et le EM qui doivent absolument être couplé à ce champs

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    1° Dans une base de données, on parle de lignes et de colonnes.
    2° Peur de quoi ?

    Avec une table du genre pour la table de référence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE T_TYPE_POINTAGE_TPN (
        TPN_ID INT IDENTITY(1,1) NOT NULL,
        TPN_LIBELLE VARCHAR(20) NOT NULL,
    CONSTRAINT PK_T_TYPE_POINTAGE_TPN PRIMARY KEY CLUSTERED
    (
        TPN_ID
    ) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON PRIMARY
    ) ON PRIMARY
    Et quelque chose dans ce goût-là pour la table de pointage :
    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
    CREATE TABLE T_POINTAGE_PNT (
        PNT_ID INT IDENTITY(1,1) NOT NULL,
        PNT_DATE DATE NOT NULL,
        PNT_TIME TIME NOT NULL,
        TPN_ID INT NOT NULL,
    CONSTRAINT PK_T_POINTAGE_PNT PRIMARY KEY CLUSTERED
    (
        PNT_ID
    ) WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON PRIMARY
    ) ON PRIMARY
    GO
     
    ALTER TABLE T_POINTAGE_PNT WITH CHECK ADD CONSTRAINT FK_T_POINTAGE_PNT_T_TYPE_POINTAGE_TPN FOREIGN KEY(TPN_ID)
    REFERENCES T_TYPE_POINTAGE_TPN (TPN_ID)
    GO
    Avec ceci, vous aurez toujours un type de pointage associé à votre pointage... Il faut juste choisir le bon.
    Kropernic

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Merci pour vos réponse, cela m'a permis de résoudre mon problème

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

Discussions similaires

  1. [CKEditor] problème insertion texte dans base de données
    Par exeee dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 22/10/2007, 11h12
  2. Problème insertion nouveau champs dans table
    Par antoine1504 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/07/2007, 12h00
  3. [MySQL] Problème insertion texte invisible
    Par caroen dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/05/2007, 11h39
  4. Création fichier PDF : problème insertion texte HTML
    Par isazazou dans le forum Documents
    Réponses: 2
    Dernier message: 21/11/2006, 15h13
  5. Réponses: 3
    Dernier message: 25/02/2005, 20h46

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