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 :

Vider un datagridview connecté avec sqlite


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2021
    Messages : 6
    Par défaut Vider un datagridview connecté avec sqlite
    Bonjour,

    Mon but est de pouvoir ouvrir diverses bases sqlite à la suite.
    Donc remplir le DGV puis le vider pour le remplir à nouveau mais rien ne fonctionne pour le vider et faire apparaitre la nouvelle base.
    j'ai tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                DataGridView_SaisieJ.Columns.Clear()
                DataGridView_SaisieJ.Rows.Clear()
                DataGridView_SaisieJ.Refresh()
                DataGridView_SaisieJ.DataSource = Nothing
    et rien ne va

    Avez-vous d'autres propositions ?
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    De mémoire tu peux seulement rebâtir ton data source avec ta nouvelle datatable

  3. #3
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,
    Comme Mario, je te donne un avis de mémoire (je n'aurai pas accès à mon PC avant demain ).
    Mettre le DataSource à Nothing, éventuellement le vider ENSUITE (...Rows.Clear), et réaffecter le DataSource.
    Attention, l'affectation du DataSource se fait avec le DataTable qui contient les données. Le DataTable ne se vide pas tout seul et accumule les données d'un chargement à l'autre. Pour avoir effectivement le résultat de la dernière lecture de DB, il faut vider le DataTable.
    Si le DataTable est toujours lié au DataSource, un Clear du DataTable devrait suffir pour vider aussi le DataGridViewx.
    J espère que ceci t'aidera....

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2021
    Messages : 6
    Par défaut J'ai testé en vain
    Bonjour,
    Merci pour vos réponses

    Voici mon code,
    Je suis débutant, merci de votre compréhension mais critiques acceptées.
    J'ai ajouté les 4 lignes noting, columns er rows clear puis refresh ce qui ne change rien

    Merci de votre aide

    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
    Sub Remplissage_Datagridview() 'Remplissage du Datagridview à l'ouverture de la base
     
                Dim strsql As String = "select * from Joueur"
     
                connection = New SQLite.SQLiteConnection(constring)
                connection.Close()  'Ferme une éventuelle base ouverte
     
                connection.Open()
     
                sqlite_command = New SQLite.SQLiteCommand(strsql, connection)
                Dim sqlite_dataadapter As New SQLiteDataAdapter
                sqlite_dataadapter.SelectCommand = sqlite_command
                Dim dt As New DataTable
     
                Form_Principale.DataGridView_SaisieJ.DataSource = Nothing
                Form_Principale.DataGridView_SaisieJ.Columns.Clear()
                Form_Principale.DataGridView_SaisieJ.Rows.Clear()
                Form_Principale.DataGridView_SaisieJ.Refresh()
     
                sqlite_dataadapter.Fill(dt)
                Form_Principale.DataGridView_SaisieJ.DataSource = dt
                sqlite_command.Dispose()
     
                Connaitre_NbreJ()
     
                connection.Close()
                connection.Dispose()
     
          End Sub

  5. #5
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour
    Je te réponds avec mon Smartphone car le site ne fonctionne pas sur mon pc ce matin.
    Il conviendrait que le DataTable soit connu là où tu le charge et audwi dans le Form du DataGridView.
    Tu devrais avoir sa déclaration Friend ou Public.
    Exemple :
    Et dans la procédure dont tu nous donne le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    DT = New DataTable 
    ...
    Et dans cette procédure, l'affectation du DataSource devrait suffir. La mise à Nothing du DataSource n est nécessaire ici que si me DataGridView a déjà été affecté ailleurs.

    J'espère que quelqu'un va dépanner le site, il plante sur " le respact de la vie privée ".

    .....

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    A une époque, j'avais fait ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dgv.DataSource= vbNull 'à remplacer probablement par Nothing aujourd'hui
    dgv.DataSource= maDataTable 'à l'époque, j'utilisais une liste en fait
    dgv.Refresh()
    Tu dis que ça ne marche pas, mais tu ne dis pas vraiment ce qui ne marche pas ? la grille reste vide? les données ne sont pas changées ?

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2021
    Messages : 6
    Par défaut Désolé du retard
    Bonjour, j'étais en déplacement sans mon ordi maison, donc pas moyen de retravailler sur le problème.

    En regardant mieux, je viens de me rendre compte que le message d'erreur que j'avais me disait juste que je ne pointais sur aucun fichier .db

    Néanmoins, merci de votre aide et la prochaine fois je ferai attention à donner plus de détails.

  8. #8
    Membre confirmé
    Homme Profil pro
    à mes temps perdus
    Inscrit en
    Février 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : à mes temps perdus
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 66
    Par défaut
    Salut,
    pour vider ta Table tu fais

    MaTable = Ta DataTable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MaTable.Clear() 'Qui permet de vider la DataTable
     
    'Si tu as une colone auto-Incrémenté tu remets ton prochain incrément à zéro
      MaTable.Columns("TaColonne en auto-increment").AutoIncrementStep = -1
      MaTable.Columns("TaColonne en auto-increment").AutoIncrementSeed = -1
      MaTable.Columns("TaColonne en auto-increment").AutoIncrementStep = 1
      MaTable.Columns("TaColonne en auto-increment").AutoIncrementSeed = 0
    En espérant que cela puisse t'aider.

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

Discussions similaires

  1. comment connecter un projet j2ee avec sqlite
    Par casuals dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 23/03/2014, 05h20
  2. connection avec une serveur interbase 4.0
    Par nicassy dans le forum InterBase
    Réponses: 2
    Dernier message: 08/06/2004, 12h53
  3. Connection avec MS Query (Excel) via ODBC MySQL
    Par javigle dans le forum Installation
    Réponses: 7
    Dernier message: 23/11/2003, 21h03
  4. [SYBASE] connectivity avec ODBC
    Par ora9i dans le forum Sybase
    Réponses: 8
    Dernier message: 03/09/2002, 22h39
  5. couper une connection avec un serveur corba
    Par pons dans le forum CORBA
    Réponses: 3
    Dernier message: 31/05/2002, 10h11

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