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

VB.NET Discussion :

DateTime.MinValue avec Base Acces et Datagridview


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut DateTime.MinValue avec Base Acces et Datagridview
    Bonjour à tous,

    Voilà tout est dans le titre .....

    J'ai un Datagridview qui est alimenté par une base access. Pour insérer les données, j'utilise un form.
    Dans cette saisie, j'ai un champ Dateprévue qui est composé d'une date et heure au format : 02/05/2016 14h00

    Afin de pouvoir classer cette colonne, je n'ai pas d'autre choix que de définir cette colonne comme une date....
    Dans ma base access, c'est ce que j'ai fait. Idem dans ma colonne Datagridview.

    Le soucis est qu'au début ce champs de saisi peut être vide, sans date. Et c'est là que le DateTime.MinValue vient semer la zizanie
    Dans ce cas :
    - Dans le Datagridview, s'affiche une date du style 01/01/0001 00h00
    - Dans la Base Access s'affiche une date du style 31/12/1899 23h59

    J'ai lu pleins de choses et un champ date-heure ne peut pas être laissé vide. J'ai lu qu'on peut définir la valeur null mais j'ai pas réussis.
    Dès que je lance le programme, dans mon tableau, il me met la fameuse DateTime.MinValue ....
    Dès que je fais une nouvelle entrée sans mettre de date, j'ai cette DateTime.MinValue qui se met dans le Datagridview et Base Access....

    Ce que je souhaiterais vraiment est que si l'utilisateur ne saisit aucune date alors dans mon datagridview + base access, çà reste vide et que rien ne s'affiche.
    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Re IL-MAFIOSO

    Pas sur que je sois d'une grande aide pour ce problème, je bénis le grand créateur de ne jamais m'avoir donné à travailler avec une base access.
    Cependant il faudrait savoir comment tu réalises ta mise a jour déjà ? C'est toi qui a écrit l'insert ? ou si tu as tout bindé de bout en bout et dans ce cas la mise a jour (l'insert dans notre cas) et géré par le framework (j'ai jamais fait ça mais je crois que c'est possible)
    Si c'est toi qui a écrit l'insert on pourra peut être s'en sortir, sinon je ne saurais quoi te dire...

    Est-ce que ton date dans access accepte les valeur null ?
    Est-ce que tu as une classe qui représente ce que tu veux insérer en bdd ? Si oui dans ce cas ta classe dois avoir une propriété DateTime, et c'est donc cette propriété que tu voudrais mettre à null, dans ce cas tu peux la rendre 'Nullable' en la déclarant ainsi :

    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
    
    Dim myDateNullable As DateTime?
    
    myDateNullable   = Nothing
    
    myDateNullable   = DateTime.Now
    
    if(myDateNullable.HasValue())
    {
    'j'ai une date
    }
    else
    {
    'la date est null
    }
    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Re,

    Alors pour situer le décors et essayer de répondre à tes questions

    J'utilise une base access qui alimente mon datagridview et vice-versa (Bindingsource-DataTable-....)
    Pour la colonne en question, je la formate en datetime et autorise les null.
    Pour la colonne du datagridview, je le formate en datetime aussi

    Pour l'insertion d'une nouvelle entrée, j'utilise un form qui après validation insère les données par la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.Table1bindingSource.DataSource.Rows.Add(New Object() {.......})
    Pour modifier l'entrée, j'édite la ligne et valide les modification par la mise à jour du Table1datagridview et à la fin, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Form1.Table1bindingSource.EndEdit()
    Form1.Table1dataAdapter.Update(Ctype(Form1.Table1bindingSource.DataSource, DataTable))
    Form1.Table1.AcceptChanges()

    Dans ces données j'ai deux textbox : 1 pour la date et l'autre pour l'heure. Ces deux contrôles font ma variable depart sous la forme 24/03/2016 15:00 (J'ai des contrôles qui s'assurent que tout est au bon format)
    il arrive souvent qu'au début, il n'y ai rien d'inscrit dans ces deux champs. Quand je lance l'insertion, je retrouve dans la BDD pour cette colonne la fameuse DateTime.Minvalue et dans le datagridview apparait alors le fameux 01.01.0001 00h00

    Ce qui marche est que quand j'édite ma ligne, mes deux textbox restent vides car je pense que le système sait que cette valeur est celle de "remplacement" pour rien.
    Mais cette valeur apparait dans la colonne concernée du Datagridview et dans la base access j'ai une date du style 31/12/1899 23h59 qui doit être la MinValue pour access je suppose.
    Lorsque j'ai changé la colonne dans access de texte en DateTime, je n'ai eu aucun message particulier malgré le fait que pour plusieurs lignes de la base, la colonne concernée était vide.

    J'ai ausssi essayé ce petit bout de code de débutant pour faire un test avant de valider une nouvelle entrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim departprevu as DateTime
    If isDate(depart) then
    departprevu = DateTime.Parse(depart)
    else
    departprevu = Nothing
    end if
    Il me met quand même ces DateTime.MinValue dans la base access et Datagridview.
    Si j'enlève le format DateTime de ma colonne dans le Datagridview, il ne me l'affiche plus malgré que dans la base access, j'ai cette valeur. Mais je ne peux plus alors trier ma colonne par ordre chronologique car il va trier la colonne comme du simple texte par ordre alphabétique ....

    Voilà, j'espère avoir été assez clair pour toi.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Vu que tout est fait de bout en bout par le binding et donc le type DateTime est utilisé, et le fait que ce type n'est pas nullable, je suis pas sur qu'on va y arriver directement, par exemple même si on envoi null comme valeur dans la datagridview vu que la colonne est en DateTime, une valeur sera affiché (surement DateTime.MinValue) il faudrait faire le test.

    Cependant, il faudrait que tu debug ton appli et lire la valeur de departprevu après l’exécution de
    Je pense que dans ce cas departprevu vaudra DateTime.MinValue, car je me suis rendu compte à la lecture de ce post que Nothing en VB ne veut pas dire mettre à null mais donner la valeur par défaut.... ce qui change tout pour un type non nullable.

    Et du coup il faudrait tester avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim departprevu as DateTime?
    If isDate(depart) then
    departprevu = DateTime.Parse(depart)
    else
    departprevu =  CType(Nothing, DateTime?)
    end if
    Attention le type est bien >> DateTime? << il faut le ?

    et du coup departprevu vaudra bien null dans ce cas, après comme je le dis plus haut je pense que la valeur afficher dans la datagridview sera toujour DateTime.MinValue ... on verra, mais dans ce cas on pourra tester la valeur et modifier l'affichage dans la datagridview.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Hello,

    Pour :
    Il me donne 00:00:00

    Dans le Datagridview, apparait : 01/01/0001 00:00
    Dans Access : 30/12/1899 00:00

    J'ai essayé avec ton bout de code et çà à l'air OK.
    J'ai donc remis ce bout de code dans le cadre d'une modification. Là c'est le Datagridview qui n'aime pas :
    System.ArgumentException: impossible de définir Column 'Departprevu' à null.Utilisez DBnull à la place.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Ok mes théories étaient donc fondées.

    Et tu a essayé de mettre DBNull ?
    Il te faut remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     departprevu = CType(Nothing, DateTime?)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    departprevu = Convert.DBNull
    Je me dis que ça doit surement être ta solution

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Re,

    Il me met :
    Le Cast specifié n'est pas valide
    Il n'aime pas le format qu'il reçoit ?

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    arff je suis allé un peu vite ...

    Du coup reviens au code avec le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     departprevu = CType(Nothing, DateTime?)
    Et je suppose que dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.Table1bindingSource.DataSource.Rows.Add(New Object() {.......})
    tes ..... remplacent toute une liste de champs. Dans ce cas tu devrais avoir departprevu dedans ?
    Ne pourrais tu pas le tester à ce moment pour lui donner soit DBNull.Value, ou alors la valeur du DateTime ?

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Hello,

    Ton code initial pour l'ajout d'une nouvelle ligne fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.Table1bindingSource.DataSource.Rows.Add(New Object() {.......})
    C'est pour les modifications.... que çà coince. En fait, l'utilisateur fait un clic droit sur la ligne et choisis dans un menu contextuel : "Modifier".
    Tous les contrôles du Form (Le même que celui pour créer) se remplit avec les infos de toutes les colonnes pour la ligne concernée.
    Quand l'utilisateur clique sur "enregistrer les modifications", je remplis d'abord le tableau du style (partant du principe que ma colonne 13 est en Format Datetime)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.Table1datagridview(13,i).value = departprevu
    Puis j'utilise ces commandes pour mettre à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Form1.Table1bindingSource.EndEdit()
    Form1.Table1dataAdapter.Update(Ctype(Form1.Table1bindingSource.DataSource, DataTable))
    Form1.Table1.AcceptChanges()
    L'erreur de Cast provient du Datagridview apparement....

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Ok donc si ça fonctionne pour l'insert, tu pourrais le faire pour l'update et donc mettre la value à DBNull ou alors lui donner la valeur du dateTime.
    Par exemple remplacer =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.Table1datagridview(13,i).value = departprevu
    Par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if departprevu == Nothing Then
        Form1.Table1datagridview(13,i).value = DBNull;
    Else
        Form1.Table1datagridview(13,i).value = departprevu;
    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    J'ai effectué différents tests. Dans le Datagridview il continue d'afficher la date mini et dans la base access aussi.
    Si je mets la date du jour et valide, et qu'ensuite je vide le champs du textbox, il remet la date mini après validation

    J'ai aussi manuellement supprimé le contenu d'une colonne dans la base access puis relancé l'application.
    Là au départ pas de soucis la colonne concernée du datagridview est vide.
    J'ai ensuite sélectionné la ligne pour la modifier. Le form s'affiche. Sans rien faire je valide et il me remet les date mini dans la base et sur le datagridview ...

  12. #12
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Je crois que je vais arriver au bout des conseils que je pourrais te donner, il faudrait voir le projet dans son ensemble pour d'autres conseils pertinents.

    Je pense que le problème vient du format de ta colonne du datagridview en dateTime et qui lorsque tu ne lui donne pas de valeur en prend une par défaut et génère donc ce fameux DateTime.MinValue.

    Après je ne sais quoi te conseiller, au pire essaye de juste jouer sur l'affichage de la dataGridView en traitant des evenements comme CellValueNeeded ou même CellFormating pour que lors de l'affichage d'un DateTime.MinValue tu affiches à la place une case vide...

    Je te l'ai dit, je ne suis pas habitué a laisser tout être géré par le binding et que ce soit le framework qui met à jour la bdd, du coup je n'ai pas l'habitude d'être confronté à ce genre de problème. Moi j'aime bien maitriser les choses et j'écris toutes mes fonctions de mise à jour en base ... etc, le binding ne me sert que sur la couche d'interface, bref ... c'est un autre débat, mais si tu veux progressé essaye d'utiliser un maximum les objects (et donc créer des classes) et séparer ton code en 3 couches, accès Bdd/Metier/Interface.

    Désolé, mais pour ce coup je vais devoir déclarer forfait.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Re,

    mais si tu veux progressé essaye d'utiliser un maximum les objects (et donc créer des classes) et séparer ton code en 3 couches, accès Bdd/Metier/Interface.
    Heu, là en toute franchise, j'arrive à peine à coder .... Ta suggestion doit certainement être hyper intéressante. Mais là faudrait que tu viennes me donner des cours à domicile
    J'ai encore deux, trois autres questions qui me trotte à l'esprit sur l'optimisation et sur les multi-utilisateurs d'une même BDD. Mais je créerais des nouveaux topics plus tard.

    Pour revenir à notre topic :

    Si j'ai bien compris comment çà fonctionne : pour l'instant, lors d'une modification, je mets à jour mon tableau et avec ces commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Form1.Table1bindingSource.EndEdit()
    Form1.Table1dataAdapter.Update(Ctype(Form1.Table1bindingSource.DataSource, DataTable))
    Form1.Table1.AcceptChanges()
    Je me connecte à la BDD en question pour mettre à jour. Puis je me déconnecte.

    Quand je fais une nouvelle saisie, d'abord je mets à jour la BDD et automatiquement le tableau se raffraichit sans aucune commande particulière.

    Sachant que mon Datagridview est intimement lié à ma BDD, n'existe-t-il pas un moyen d'updater le bindingsource sans passer par le Datagridview ? Un peu comme une nouvelle entrée ?
    Le Datagridview serait aussi mis à jour mais en puisant les données dans la BDD ?
    Ou le datatable ?
    Ou bien dois-je ruser en supprimant la ligne et en la recréant tout de suite derrière ?

  14. #14
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Je ne voudrais pas te dire de co**eries, du coup est-ce que tu aurais un/des lien(s) vers des tuto ou autres qui t'aurais aidé à mettre en place ta liaison entre ta base access et ta datagridview ? J'ai bien quelques théories mais je voudrais être sur de moi avant de te répondre, de plus ça pourrait m’intéresser dans le cas ou je voudrais faire ce genre de connexion à moindre cout.
    Je vais essayer de regarder un peu de mon coté.

    Sinon je comprend que pour un débutant parler de notion d'object et de séparation des couches ça peut paraitre déroutant mais il ne faut pas perdre de vue que ces principes de développement / règles de bonne pratique / architecture ... (appel les comme tu veux) ont a la base été pensée pour faciliter la tache du développeur. L'idée générale étant de réduire au maximum les responsabilités d'un élément, la règle disant un élément <-> une responsabilité. Tout ça pour qu'un problème ne puisse se produire qu'a un endroit et qu'une solution appliquée à un endroit corrige le problème partout... C'est d’ailleurs l'idée derrière la séparation des couches, accès Bdd -> je transforme mes lignes de bdd en object métier, métier -> contient les règles de gestion, la couche interface est uniquement une couche de présentation qui éventuellement pourra modifier les object métiers qui seront ensuite donné à la couche d'accès bdd pour qu'il soient mis a jour en bdd.
    Tu trouveras tout un tas de doc , tuto qui pourront t'aider, même si je le conçois c'est la compagnie d'un dev d'expérience qui permettra vraiment à un padawan d'avancer... lire ce genre de choses (8 fois si il faut ) te fera évoluer en tant que développeur, et encore plus le jour ou tu auras décidé de les mettre en œuvre dans des petits projets.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Re,

    Bon pour notre topic, pour l'instant, j'écrase la ligne dans la BDD et la remplace.
    Concernant ce que tu me demande, j'ai tout fait en manuel car avec MVB on peut utiliser l'assistant pour lier une BDD à un Tableau Datagridview mais trop rigide à mon goût.
    Donc j'ai tout décrit manuellement, puis je construis les colonnes de mon Datagridview et pour chaque colonne, dans DataPropertyName, je mets le nom de la colonne de la BDD que je veux afficher.

    Dans mon Form principal, en gros. (J'ai retiré la gestion des exceptions et mon Datagridview s'appelle Table1datagridview) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports System.Data.OleDb
    Je déclare :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Table1bindingSource as New BindingSource()
    Public Table1dataAdapter as New OleDbDataAdapter()
    Public Table1 As New DataTable
    J'ai des variables prédéfinis ailleurs dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    base1 = "Provider=Microsoft.Jet.OLEDB.4.4;Data Source = "
    base3 = "monchemin\base.mbd;Jet OLEDB:Database Password='monmotdepasse'"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub GetData(ByVal selectCommand As String)
     
    Dim connectionString1 as String = base1 & base3
    Me.Table1dataAdapter = New OleDbDataAdapter(selectCommand, connectionString1)
    Dim commandBuilder1 As New OleDbCommandBuilder(Me.Table1dataAdapter)
     
    Table1.Locale=System.Globalization.CultureInfo.InvariantCulture
     
    Table1.Clear()
    Me.Table1dataAdapter.Fill=Table1
     
    End Sub
    Dans mon Form load ou Table1 est le nom de la table de ma BDD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetData("select * from Table1")

    Pour filtrer ce que je veux afficher, j'utilise ceci :
    https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

Discussions similaires

  1. base de données externe avec MySQL: accès Natif
    Par dotocosme dans le forum HyperFileSQL
    Réponses: 10
    Dernier message: 28/12/2010, 00h51
  2. Remplissage DatagridView avec Base Oracle
    Par Sharp93 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 23/06/2009, 11h00
  3. [Portlet] portlet avec un accès à une base de donné mysql
    Par prodit96 dans le forum Portails
    Réponses: 1
    Dernier message: 12/01/2009, 16h41
  4. datagridview lenteur avec base de donne
    Par Julien666 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/01/2008, 11h55
  5. Ouverture d'une base Acces avec Builder 6 pro
    Par tryonyco dans le forum C++Builder
    Réponses: 7
    Dernier message: 30/08/2005, 16h45

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