Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles TOURREAU
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple :
MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
Cordialement
--
Gilles TOURREAU
gilles.tourreau@pos.fr
S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
SL3News
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
Merci. Je vais tester ce que vous me proposez.
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de news:
op.tys1b5b2r4w555@bureau1.pos.fr...
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple :
MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
Merci. Je vais tester ce que vous me proposez.
SL3News
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de news:
op.tys1b5b2r4w555@bureau1.pos.fr...
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple :
MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible
de convertir DBNull?Value en type DateTime?
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Gilles TOURREAU
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News <toto@tata.fr> a écrit:
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de
news:
op.tys1b5b2r4w555@bureau1.pos.fr...
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM
et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple :
MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur :
impossible
de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Cordialement
--
Gilles TOURREAU
gilles.tourreau@pos.fr
S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
SL3News
"Gilles TOURREAU" a écrit dans le message de news:
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client et le champ DateNais de type DateTime) : DataRow dr = ((DataRowView)clientBindingSource.Current).Row; ((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ; J'obtiens le message d'erreur suivant à la compilation : Impossible de convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur à la compilation : le nom datenais n'existe pas dans le contexte actuel nPosi=clientBindingSource.Position; maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de news:
op.tyudpi2hr4w555@bureau1.pos.fr...
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News <toto@tata.fr> a écrit:
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de
news:
op.tys1b5b2r4w555@bureau1.pos.fr...
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM
et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple :
MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur :
impossible
de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client et
le champ DateNais de type DateTime) :
DataRow dr = ((DataRowView)clientBindingSource.Current).Row;
((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ;
J'obtiens le message d'erreur suivant à la compilation : Impossible de
convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur à
la compilation : le nom datenais n'existe pas dans le contexte actuel
nPosi=clientBindingSource.Position;
maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
"Gilles TOURREAU" a écrit dans le message de news:
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client et le champ DateNais de type DateTime) : DataRow dr = ((DataRowView)clientBindingSource.Current).Row; ((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ; J'obtiens le message d'erreur suivant à la compilation : Impossible de convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur à la compilation : le nom datenais n'existe pas dans le contexte actuel nPosi=clientBindingSource.Position; maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
Gilles TOURREAU
Le Wed, 19 Sep 2007 08:28:54 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client et le champ DateNais de type DateTime) : DataRow dr = ((DataRowView)clientBindingSource.Current).Row; ((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ; J'obtiens le message d'erreur suivant à la compilation : Impossible de convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur à la compilation : le nom datenais n'existe pas dans le contexte actuel nPosi=clientBindingSource.Position; maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
DBNull.Value est de type DBNull et DateNais est de type DateTime...
C'est un peu comme si vous écrivez : int i = 5; string s = "Coucou";
s = i; //Ca compile pas... Car "s" et "i" ne sont pas du même type !
Pour votre cas vous devez écrire :
Dans un DataSet non typé : maDbcDataSet.Client[nPosi]["datenais"] = DBNull.Value
ou dans un DataSet typé (dans votre cas) : maDbcDataSet.Client[nPosi].SetdatenaisNull(); //La méthode a dû être générée automatiquement par VS2005...
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Le Wed, 19 Sep 2007 08:28:54 +0200, SL3News <toto@tata.fr> a écrit:
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de
news:
op.tyudpi2hr4w555@bureau1.pos.fr...
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News <toto@tata.fr> a écrit:
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de
news:
op.tys1b5b2r4w555@bureau1.pos.fr...
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de
données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM
et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple :
MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur :
impossible
de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client
et
le champ DateNais de type DateTime) :
DataRow dr = ((DataRowView)clientBindingSource.Current).Row;
((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ;
J'obtiens le message d'erreur suivant à la compilation : Impossible de
convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur
à
la compilation : le nom datenais n'existe pas dans le contexte actuel
nPosi=clientBindingSource.Position;
maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
DBNull.Value est de type DBNull et DateNais est de type DateTime...
C'est un peu comme si vous écrivez :
int i = 5;
string s = "Coucou";
s = i; //Ca compile pas... Car "s" et "i" ne sont pas du même type !
Pour votre cas vous devez écrire :
Dans un DataSet non typé :
maDbcDataSet.Client[nPosi]["datenais"] = DBNull.Value
ou dans un DataSet typé (dans votre cas) :
maDbcDataSet.Client[nPosi].SetdatenaisNull(); //La méthode a dû être
générée automatiquement par VS2005...
Cordialement
--
Gilles TOURREAU
gilles.tourreau@pos.fr
S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Le Wed, 19 Sep 2007 08:28:54 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client et le champ DateNais de type DateTime) : DataRow dr = ((DataRowView)clientBindingSource.Current).Row; ((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ; J'obtiens le message d'erreur suivant à la compilation : Impossible de convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur à la compilation : le nom datenais n'existe pas dans le contexte actuel nPosi=clientBindingSource.Position; maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
DBNull.Value est de type DBNull et DateNais est de type DateTime...
C'est un peu comme si vous écrivez : int i = 5; string s = "Coucou";
s = i; //Ca compile pas... Car "s" et "i" ne sont pas du même type !
Pour votre cas vous devez écrire :
Dans un DataSet non typé : maDbcDataSet.Client[nPosi]["datenais"] = DBNull.Value
ou dans un DataSet typé (dans votre cas) : maDbcDataSet.Client[nPosi].SetdatenaisNull(); //La méthode a dû être générée automatiquement par VS2005...
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
SL3News
"Gilles TOURREAU" a écrit dans le message de news:
Le Wed, 19 Sep 2007 08:28:54 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client et le champ DateNais de type DateTime) : DataRow dr = ((DataRowView)clientBindingSource.Current).Row; ((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ; J'obtiens le message d'erreur suivant à la compilation : Impossible de convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur à la compilation : le nom datenais n'existe pas dans le contexte actuel nPosi=clientBindingSource.Position; maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
DBNull.Value est de type DBNull et DateNais est de type DateTime...
C'est un peu comme si vous écrivez : int i = 5; string s = "Coucou";
s = i; //Ca compile pas... Car "s" et "i" ne sont pas du même type !
Pour votre cas vous devez écrire :
Dans un DataSet non typé : maDbcDataSet.Client[nPosi]["datenais"] = DBNull.Value
ou dans un DataSet typé (dans votre cas) : maDbcDataSet.Client[nPosi].SetdatenaisNull(); //La méthode a dû être générée automatiquement par VS2005...
Merci pour votre réponse. Je vais la tester. Par ailleurs, il semble que ce que vous me proposez me permettra de trouver la solution à d'autres problèmes qui m'embêtaient également depuis un certain temps.
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de news:
op.tyv9hnrkr4w555@bureau1.pos.fr...
Le Wed, 19 Sep 2007 08:28:54 +0200, SL3News <toto@tata.fr> a écrit:
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de
news:
op.tyudpi2hr4w555@bureau1.pos.fr...
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News <toto@tata.fr> a écrit:
"Gilles TOURREAU" <gilles.tourreau@pos.fr> a écrit dans le message de
news:
op.tys1b5b2r4w555@bureau1.pos.fr...
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News <toto@tata.fr> a écrit:
Bonjour,
J'ai un WindowsForm basé sur un TableAdapter avec une source de
données
pouvant contenir des dates vides.
Lorsque je veux faire une sauvegarde, j'obtiens le message suivant :
Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM
et
31/12/9999 11:59:59 PM.
Comment faire donc pour que la sauvegarde marche même si un contrôle
contenant une date n'a pas été renseignée?
Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple :
MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur :
impossible
de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client
et
le champ DateNais de type DateTime) :
DataRow dr = ((DataRowView)clientBindingSource.Current).Row;
((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ;
J'obtiens le message d'erreur suivant à la compilation : Impossible de
convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur
à
la compilation : le nom datenais n'existe pas dans le contexte actuel
nPosi=clientBindingSource.Position;
maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
DBNull.Value est de type DBNull et DateNais est de type DateTime...
C'est un peu comme si vous écrivez :
int i = 5;
string s = "Coucou";
s = i; //Ca compile pas... Car "s" et "i" ne sont pas du même type !
Pour votre cas vous devez écrire :
Dans un DataSet non typé :
maDbcDataSet.Client[nPosi]["datenais"] = DBNull.Value
ou dans un DataSet typé (dans votre cas) :
maDbcDataSet.Client[nPosi].SetdatenaisNull(); //La méthode a dû être
générée automatiquement par VS2005...
Merci pour votre réponse.
Je vais la tester.
Par ailleurs, il semble que ce que vous me proposez me permettra de trouver
la solution à d'autres problèmes qui m'embêtaient également depuis un
certain temps.
"Gilles TOURREAU" a écrit dans le message de news:
Le Wed, 19 Sep 2007 08:28:54 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Tue, 18 Sep 2007 08:08:19 +0200, SL3News a écrit:
"Gilles TOURREAU" a écrit dans le message de news:
Le Mon, 17 Sep 2007 17:11:19 +0200, SL3News a écrit:
Bonjour, J'ai un WindowsForm basé sur un TableAdapter avec une source de données pouvant contenir des dates vides. Lorsque je veux faire une sauvegarde, j'obtiens le message suivant : Dépassement SqlDatetime. Doit être compris entre 1/1/1753 12:00:00 AM et 31/12/9999 11:59:59 PM. Comment faire donc pour que la sauvegarde marche même si un contrôle contenant une date n'a pas été renseignée? Merci d'avance pour vos contributions.
Il faut mettre votre donnée à NULL (DBNull.Value)...
Exemple : MonDataSet.MaTable[NuméroLigne][ColonneDateTime] = DBNull.Value;
J'ai essayé. Cela ne marche pas apparemment? Message d'erreur : impossible de convertir DBNull?Value en type DateTime?
A+
Tu peux montrer ton code ?
Voici un extrait du code (avec la base de données MaDbc, la table Client et le champ DateNais de type DateTime) : DataRow dr = ((DataRowView)clientBindingSource.Current).Row; ((MaDbcDataSet.ClientRow)dr).datenais = DBNull.Value ; J'obtiens le message d'erreur suivant à la compilation : Impossible de convertir implicitement le type 'System.DBNull' en 'System.DateTime'.
PS : j'avais essayé le code suivant qui me retourne également une erreur à la compilation : le nom datenais n'existe pas dans le contexte actuel nPosi=clientBindingSource.Position; maDbcDataSet.Client[nPosi][datenais] = DBNull.Value ;
DBNull.Value est de type DBNull et DateNais est de type DateTime...
C'est un peu comme si vous écrivez : int i = 5; string s = "Coucou";
s = i; //Ca compile pas... Car "s" et "i" ne sont pas du même type !
Pour votre cas vous devez écrire :
Dans un DataSet non typé : maDbcDataSet.Client[nPosi]["datenais"] = DBNull.Value
ou dans un DataSet typé (dans votre cas) : maDbcDataSet.Client[nPosi].SetdatenaisNull(); //La méthode a dû être générée automatiquement par VS2005...
Merci pour votre réponse. Je vais la tester. Par ailleurs, il semble que ce que vous me proposez me permettra de trouver la solution à d'autres problèmes qui m'embêtaient également depuis un certain temps.