Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valeur par défaut

5 réponses
Avatar
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)

5 réponses

Avatar
Patrice
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" a écrit dans le message de
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)


Avatar
The Best Poster
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" a écrit dans le message de 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')

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)
Avatar
The Best Poster
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" a écrit dans le message de
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)
Avatar
Patrice
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
Avatar
Sylvain Lafontaine
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" wrote in message
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)