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

Dotnet Discussion :

Base Access à dataset : type de données non respecté


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par défaut Base Access à dataset : type de données non respecté
    Bonjour,

    Je n'arrive pas à expliquer ce souci : j'ai une bdd access avec une colonne de date, lorsque je charge un dataset le format de données dans cette colonne passe de Date à Double.

    J'ai vérifié dans Access avec la requête qui charge le dataset et la fonction typename : mes données sont bien de type date

    Mais une fois chargé dans le dataset, celui-ci les convertit en type Double.

    J'ai essayé de convertir avec Cast, Cdate et FormatDateTime mais le système m'indique que la conversion ne peut se faire.

    Une idée ?

    Le code de chargement de mon dataset :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Public Sub RecherchePret()
     
            Dim requete As String = "Select * FROM archivage LEFT JOIN pret ON archivage.Num = pret.Num_Archives where pret.ID = " & Modif_pret.Txt_pret.Text & ""
     
            Try
     
                If ConnexionAccess.State = ConnectionState.Closed Then
                    ConnexionAccess.Open()
                End If
     
                Commande = New OleDbCommand(requete, ConnexionAccess)
                DataSetAdaptateur = New OleDbDataAdapter(Commande)
     
                Try
                    DataSetArchives.Clear()
                    DataSetAdaptateur.Fill(DataSetArchives, "Archivage")
                    Resultats.DGV_Resultats.DataSource = DataSetArchives.Tables("Archivage")
                    Resultats.Show()
     
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
                End Try
     
            Catch ex As Exception
                MessageBox.Show(ex.Message)
     
            End Try
     
            ConnexionAccess.Close()

  2. #2
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    As-tu essayé en configurant ton Dataset sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DataSetArchives.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
    .

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par défaut
    Bonjour,


    a quoi sert cette ligne ? je ne connaissais pas ; quoiqu'il en soit, après l'avoir ajouté, j'ai toujours l'erreur. C'est vraiment bizarre car c'est pourtant bien une date qui apparait dans le datagridview

  4. #4
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    Ca sert à indiquer dans le cas où la table Archivage n'existe pas encore dans le Dataset de la créer avec un schéma respectant la structure de la table définie dans la BDD.
    A quoi correspond Resultats.DGV_Resultats ?
    S'il s'agit de ton DataGridView, tu pourrais peut être passer par l'intermédiaire d'un BindingSource dans un premier temps plutôt que de binder direct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    BindingSource bindingsourceArchivage = new BindingSource();
    bindingsourceArchivage.DataSource = DataSetArchives;
    bindingsourceArchivage.DataMember = "Archivage";
    ...
    Resultats.DGV_Resultats.DataSource = bindingsourceArchivage;
    .

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 164
    Par défaut
    Malheureusement ça ne fonctionne toujours pas

  6. #6
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    Dans ce cas, tu peux faire un projet test avec le designer WindForms de création de Dataset typé et voir comment les colonnes de type date sont définies.
    En faisant glisser les définitions de tables dans le designer de l'interface utilisateur, en ayant défini au préalable les types des controles à générer (DataGridView), tu obtiendra le code de définition.
    C'est une piste à étudier
    .

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

Discussions similaires

  1. type de données non valide dans un cast
    Par psyka dans le forum PL/SQL
    Réponses: 3
    Dernier message: 05/03/2009, 11h05
  2. type de données non standard
    Par lity7 dans le forum Services Web
    Réponses: 1
    Dernier message: 03/09/2008, 14h46
  3. <Type de données non pris en charge>
    Par Alex35 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/12/2007, 12h38
  4. [CRXI] Types de données non compatibles
    Par KaNos_Isterik dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/03/2007, 11h01
  5. Réponses: 4
    Dernier message: 01/07/2005, 16h20

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