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

C# Discussion :

[C# & Access] DateTime et Date/Heure


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut [C# & Access] DateTime et Date/Heure
    Bonjour tout le monde.

    Voilà, dans le cadre de l'école, je dois développer une application. Dans celle-ci, on nous conseille de sauvegarder nos valeurs dans une petite base de données. Afin de ne pas me prendre la tête, j'ai donc décidé de créer une petite base Access dans laquelle je vais stocker mes données.

    J'ai donc une table 'Personnel', qui contiendra entre autre, un champ au format Date/Heure pour la date de naissance de la personne, et un champ date d'embauche.

    Maintenant, dans mon applic C# qui va manipuler cette base, je souhaite pouvoir saisir la date, et la passée en paramètre lorsque je ferais ma requête d'insertion dans la BD.

    Pour ce faire, je vais devoir convertir la valeur de la date que je saisi dans mon applic, en une valeur qui sera connue de ma base de données.

    J'ai donc pensé à la chose suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime.Parse(P.DateNaissance) // P = objet de type Personnel
    Pourtant, quand je lance la requête, il me dit que les types sont incompatible en me lançant une erreur de OleDbException, en précisant une erreur de syntaxe dans l'instruction INSERT INTO.

    Je vous donne ci-après la requête que je crée, et qui se trouve dans la partie ou je fais mon insert:

    "INSERT INTO Personnel(Nom, Prenom, DateNaissance, DateEmbauche, Fonction, Status, NumEmp, Password) values('Connery', 'Seanl', '11/02/1985 00:00:00', '01/01/2000 00:00:00', 'Ingénieur', True, 6, 123);"
    voilà, donc je ne sais pas vraiment si le message est adapté au forum, si ce n'est pas le cas, veuiller m'en excuser.

    Donc, si quelqu'un parmi vous pouvait me dire d'où provient mon problème, cela m'arrangerais énormément.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Utilise des paramètres SQL : http://johannblais.developpez.com/tu...acces-donnees/

    La technique est valable aussi pour les oledbparameter
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    Merci pour le petit conseil, bien pratique d'ailleurs

    Mais j'avais toujours le problème, et je me suis souvenu, avoir déjà rencontrer un problème similaire. J'ai donc essayer de construire la requête de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO <Nom de la table> values(<toutes les valeurs>);
    Et ça marche.
    Donc, en fait, il ne faut pas préciser, comme on serait tenter de le faire en SQl "normal", tous les champs que l'on va assigner dans la base.
    Pour simple info donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO <Nom de la table>(<les champs a assigner>) values (<toutes les valeurs>);
    Apparemment, cette manière de faire, C# n'en est pas très content

    Dès lors, lorsque l'on ne souhaitera pas assigner tous champs de la table, il ne faudra donc pas oublier de placer ces champs à null.

    Voilà, je te remercie encore pour ton conseil, il m'a fait me souvenir de mon précédent problème.

    Je pourrais donc dire, que de mon côté, le problème est résolu.

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

Discussions similaires

  1. VB6 Access requete Date heure
    Par zzoohh dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/01/2008, 09h26
  2. [Access] extraire une date apartir d'un champs DateTime
    Par touhami dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/01/2008, 10h23
  3. [Access] Champ Date/Heure qui déconne
    Par portu dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/05/2006, 17h42
  4. Insérer Date, Heure marche/arret d'un PC sous ACCESS
    Par preatorien dans le forum Access
    Réponses: 2
    Dernier message: 07/02/2006, 19h40
  5. [datetime] conversion d'une chaîne en une date + heure
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 2
    Dernier message: 07/04/2005, 10h43

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