Valeur par défaut

Le
The Best Poster
Bonjour,

J'ai une table de ma base dont une colonne est de type bit (pour être
utilisée en tant que boolean).

Ce champ est en NULL interdit. DJe souhaiterais que cette colonne soit
à FALSE par défaut, lorsqu'une nouvelle ligne est insérée dans la
table.

Dans l'interface de SQL Server, je lui ai donc donnée la valeur par
défaut 0.

Pourtant, lorsque je crée un nouvel enregistrement, je constate que ce
champ est initialisé à NULL est non pas à 0 ou à FALSE.

Comment régler ce problème ? Merci.

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #21397001
Bonjour,

Que donne :

select * from information_Schema.Columns where Table_Name='Table' AND
column_Name='Colonne'

et notamment les colonnes IS_NULLABLE et COLUMN_DEFAULT pour déjà vérifier
que ces changements ont bien été appliqués.
(cela ne devait pas être possible donc).

--
Patrice



"The Best Poster" groupe de discussion : hnt7fl$107$
Bonjour,

J'ai une table de ma base dont une colonne est de type bit (pour être
utilisée en tant que boolean).

Ce champ est en NULL interdit. DJe souhaiterais que cette colonne soit à
FALSE par défaut, lorsqu'une nouvelle ligne est insérée dans la table.

Dans l'interface de SQL Server, je lui ai donc donnée la valeur par défaut
0.

Pourtant, lorsque je crée un nouvel enregistrement, je constate que ce
champ est initialisé à NULL est non pas à 0 ou à FALSE.

Comment régler ce problème ? Merci.

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe qui."
(Jean ferrat)


The Best Poster
Le #21397221
Patrice a présenté l'énoncé suivant :
Bonjour,

Que donne :

select * from information_Schema.Columns where Table_Name='Table' AND
column_Name='Colonne'

et notamment les colonnes IS_NULLABLE et COLUMN_DEFAULT pour déjà vérifier
que ces changements ont bien été appliqués.
(cela ne devait pas être possible donc).

--
Patrice



"The Best Poster" de discussion : hnt7fl$107$
Bonjour,

J'ai une table de ma base dont une colonne est de type bit (pour être
utilisée en tant que boolean).

Ce champ est en NULL interdit. DJe souhaiterais que cette colonne soit à
FALSE par défaut, lorsqu'une nouvelle ligne est insérée dans la table.

Dans l'interface de SQL Server, je lui ai donc donnée la valeur par défaut
0.

Pourtant, lorsque je crée un nouvel enregistrement, je constate que ce
champ est initialisé à NULL est non pas à 0 ou à FALSE.

Comment régler ce problème ? Merci.

-- "Plaire à tout le monde et à personne, c'est pas donné à n'importe qui."
(Jean ferrat)







IS NULLABLE = NO
COLUMN DEFAULT = ('0')

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)
The Best Poster
Le #21397211
The Best Poster avait prétendu :
Patrice a présenté l'énoncé suivant :
Bonjour,

Que donne :

select * from information_Schema.Columns where Table_Name='Table' AND
column_Name='Colonne'

et notamment les colonnes IS_NULLABLE et COLUMN_DEFAULT pour déjà vérifier
que ces changements ont bien été appliqués.
(cela ne devait pas être possible donc).

--
Patrice



"The Best Poster" groupe de discussion : hnt7fl$107$
Bonjour,

J'ai une table de ma base dont une colonne est de type bit (pour être
utilisée en tant que boolean).

Ce champ est en NULL interdit. DJe souhaiterais que cette colonne soit à
FALSE par défaut, lorsqu'une nouvelle ligne est insérée dans la table.

Dans l'interface de SQL Server, je lui ai donc donnée la valeur par défaut
0.

Pourtant, lorsque je crée un nouvel enregistrement, je constate que ce
champ est initialisé à NULL est non pas à 0 ou à FALSE.

Comment régler ce problème ? Merci.

-- "Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)







IS NULLABLE = NO
COLUMN DEFAULT = ('0')



J'ai remplacé COLUMN DEFAULT = ('0') par COLUMN DEFAULT = (0)

Cela marche apparemment en passant par l'interface de SQL Server, mais
il y a un problème en faisant la modification avec l'interface que j'ai
développée dans un logiciel. Le problème doit donc venir de mon code
...
(Mise à jour des données via la saisie dans un DataGridView en C#).

Merci de votre aide.



--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)
Patrice
Le #21397961
IS NULLABLE = NO
COLUMN DEFAULT = ('0')





Il reste extrèmement curieux que la colonne soit NOT NULL et que l'on ait
apparemment des valeurs NULL dans certaines de ces lignes...

Je commencerais vraiment par tester juste en SQL Server (un insert tout
simple et normalement la valeur NULL sera refusée) pour éliminer toute autre
possibilité de mauvaise interprétation...

--
Patrice
Sylvain Lafontaine
Le #21402941
Les valeurs par défaut sont utilisées lorsque vous créez un nouvel
enregistrement dans SQL-Server sans préciser de valeur. Cependant, il se
peut fort bien que votre code, lui, spécifie une autre valeur par défaut
lorsqu'il crée un nouvel enregistrement. Vous ne dites pas comment vous
faites pour créer un nouvel enregistrement; alors tous les paris sont
ouverts à cet effet.

Il faudrait que vous regardiez du côté de votre code. Si vous avez utilisé
une procédure quelconque automatique; vous devriez relancer ou rafraîchir
cette procédure de façon à ce que les métadonnées soient remises à jour.

--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Blogue/site web: http://paparazzi-codeur.sylvainlafontaine.com
Consultant indépendant et programmation à distance pour Access et
SQL-Server.


"The Best Poster" news:hnt7fl$107$
Bonjour,

J'ai une table de ma base dont une colonne est de type bit (pour être
utilisée en tant que boolean).

Ce champ est en NULL interdit. DJe souhaiterais que cette colonne soit à
FALSE par défaut, lorsqu'une nouvelle ligne est insérée dans la table.

Dans l'interface de SQL Server, je lui ai donc donnée la valeur par défaut
0.

Pourtant, lorsque je crée un nouvel enregistrement, je constate que ce
champ est initialisé à NULL est non pas à 0 ou à FALSE.

Comment régler ce problème ? Merci.

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe qui."
(Jean ferrat)


Publicité
Poster une réponse
Anonyme