begin process at 2010 03 19 05:21:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Bases de données

 > 

Contrôle d'erreur ADO sur System.DateTime


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Contrôle d'erreur ADO sur System.DateTime

mercredi 22 décembre 2004 à 09:49:23 | Contrôle d'erreur ADO sur System.DateTime

bletec


Bonjour,

J'interroge une base de données ODBC d'un logiciel de Gestion Electronique de Documents "Alchemy". Si on définit un champ de type 'Date' dans une telle base, sa valeur par défaut est 'Null' !

Dans une appli .Net, si j'interroge la base et que ma requête tente d'extraire un enregistrement dont la valeur d'un champ de type Date est 'Null', le requête s'arrête, et j'obtiens le message d'erreur suivant:

"L'argument spécifié n'était pas dans les limites de la plage des valeurs valides. Nom du paramètre : Les paramètres Year, Month et Day décrivent un DateTime qui ne peut pas être représenté."

J'ai essayé de changer des paramètres de la connection, sans succès.

Y-a-t-il un moyen d'ignorer cette erreur, afin de pouvoir remplacer
ces satanés 'Null' par une Date '0' arbitraire ?

La même requête à travers Access remplace les 'Null' pas 1er Janvier 1980 ! J'espère qu'ADO.Net peut en faire autant...

---
BL
mercredi 22 décembre 2004 à 10:26:28 | Re : Contrôle d'erreur ADO sur System.DateTime

labout


labout

pour éviter ce genre de problème, je n'utilise jamais de champ date mais des champs texte ou varchar et cela simplifie grandement.
@+
mercredi 22 décembre 2004 à 10:57:28 | Re : Contrôle d'erreur ADO sur System.DateTime

bletec

Certes, c'est ce que j'ai fait dans un premier temps, mais on prive l'utilisateur des fonctions de recherche spécifiques aux dates: Avant le... Après le... Entre le... et le ... .

Merci quand-même ;-)

Je m'en sors avec un prétraitement systématique de la base.
Si ID est une clé unique et maDate un champ de type Date:

SELECT ID From maBase WHERE maDate<'0000-01-01'

et si cette requête sort des enregistrements:

UPDATE maBase SET maDate='1900-01-01' WHERE maDate<'0000-01-01'

Mais c'est une perte de temps que je voudrais éviter en ignorant l'erreur ADO.Net.

Je cherche à surcharger la méthode OdbcDataReader.GetDateTime pour gérer l'erreur et retourner un date par défaut. Sans succès jusqu'à présent.

Des idées dans ce sens ?

---
BL
mercredi 22 décembre 2004 à 11:05:04 | Re : Contrôle d'erreur ADO sur System.DateTime

labout


labout

Mais non cela n'empeche en rien il suffit de définir les champs
text et y mettre la date en string au format yyyymmdd ainsi toutes les fonctions de recherche sur les dates peuvent être utilisées. Il suffit ensuite de traduire par le code.

@+
mercredi 22 décembre 2004 à 11:42:14 | Re : Contrôle d'erreur ADO sur System.DateTime

bletec


Oui je comprends bien, MAIS j'interroge une base GED d'un logiciel appelé Alchemy qui dans son fonctionnement pour les utilisateurs est une boîte noire! Je n'ai pas la possibilité de redéfinir les recherches sur les dates pour les utilisateurs du logiciel. Moi je dois réaliser des opérations sur les bases depuis l'extérieur, par des requêtes SQL.

Le format de données Date est donc une contrainte que je ne peux contourner et je dois gérer l'abération générée par ce logiciel qui met Null au lieu d'une date arbitraire par défaut.


---
BL
vendredi 8 août 2008 à 11:54:41 | Re : Contrôle d'erreur ADO sur System.DateTime

phppro

Bonjour,

je sais que cette discussion remonte à 4 ans mais google ne trouve que votre discussion  avec le même message d'erreur que moi ...

base {System.ArgumentException} = {"Les paramètres Year, Month et Day décrivent un DateTime qui ne peut pas être représenté."}

Je cherche aussi un moyen de contré ce problème tout en sachant que je ne peut modifier les infos de la base càd pas d'update ni de transformation en type text ou autre....

Comment t'y es tu pris afin de surcharger cette methode ?

Merci pour vos réponses par avance, je ne trouve pas de solution depuis un mois et je déprime

[b][size=4]PAR PHPPRO[/size=4][/b][Code][/Code]
vendredi 8 août 2008 à 11:54:41 | Re : Contrôle d'erreur ADO sur System.DateTime

phppro

Bonjour,

je sais que cette discussion remonte à 4 ans mais google ne trouve que votre discussion  avec le même message d'erreur que moi ...

base {System.ArgumentException} = {"Les paramètres Year, Month et Day décrivent un DateTime qui ne peut pas être représenté."}

Je cherche aussi un moyen de contré ce problème tout en sachant que je ne peut modifier les infos de la base càd pas d'update ni de transformation en type text ou autre....

Comment t'y es tu pris afin de surcharger cette methode ?

Merci pour vos réponses par avance, je ne trouve pas de solution depuis un mois et je déprime

[b][size=4]PAR PHPPRO[/size=4][/b][Code][/Code]


Cette discussion est classée dans : base, date, ado, erreur, datetime


Répondre à ce message

Sujets en rapport avec ce message

Erreur 91 Connexion ADO [ par SenseiKakashi ] Bon, j'ai un problème... Alors, je viens de créer une connexion à ma base (ADO), quand je lance mon app, ca marche bien ( cela me charge une liste dér Modification ADO [ par pulpul74 ] Bonjour.J'aurais encore une fois besoin de votre aide.J'accède actuellement à une base de données grace à le méthode ADO. Le problème que je rencontre gestion ERREUR ADO [ par jc2nantes ] Bonjour,Voila le topo : sur un portable, une appli interroge une BDD (ADO) présente sur un serveur. La liaison entre les 2 machines est WIFI.Comment g Probleme dans un requeette [ par cybercop ] bjr a tt, bon je suis en sql server 2005 express , j'ai 1 prb dans un requette la condition n'est affiche aucun resultat .il ma donne un erreur  La comment change la date dans un fichier access de base de données existant [ par mqouqa ] bonjourj ai un fichier access de base de données des joueurs de foot le souci cé que la date du fichier est 2005 alors ma question est la suivante com Probleme [ par naruto876 ] <span style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Verdana','sans-serif'; LETTER-SPACING: 0.25pt; mso-fareast-font-family: 'Times New Roman'; m Connexion avec ADO sur un resau [ par lelass ] Slt,comment se connecter à une base de données sur un serveur avec un controle ADO.En fait j'utilise WinSock pour connecter les deux postes(client et Probleme dans base de données [ par Tursiop60 ] Bonsoir à tous,Je suis en train de réaliser une application pour la diététicienne du centre de remise en forme où je travail.Je viens vers vous car j' BASE DE DONN2E EXCEL [ par papes ] Bonsoir cher(e)ami(e) est ce que quelqu'un peu m'aidé à faire une base de donnée sous excel car je veux bien mais je ne comprend pas l'utilisation du Connection ADO sur base MySQL sans driver? [ par renar2000 ] Bonjour, Je suis actuellement en stage et sur un projet un peu particulier. Je dois faire interagir une base de données mysql située sur un réseau A


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales