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 :

refresh dataset/datagridview


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut refresh dataset/datagridview
    bonjour à tous !
    je seche sur la requete "select" afin de rafraichir un dataset et une datagridview (bdd : sqlexpress)

    l'ensemble des requetes fonctionne parfaitement (update, insert,delete, etc...)
    sauf "select"... je n'arrive pas à rafraichir mon dataset, à chaque fois, cela m'affiche tous les enregistrements...

    voici un exemple de code qui fonctionne

    au lancement de la form :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Table1TableAdapter.Fill(Me.BOBBYDataSet.Table1)
    Affichage de tous les enregistrements de la table

    une requete "Insert" qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection
            sqlConnection1.ConnectionString = "Data Source=LOCALHOST\SQLEXPRESS;Initial Catalog=BOBBY;Integrated Security=True"
            Dim cmd As New System.Data.SqlClient.SqlCommand
            cmd.CommandType = System.Data.CommandType.Text
     
            cmd.CommandText = "insert into Table1 values ('" & ComboBox1.Text & "' , '" & TextBox3.Text & "', '" & TextBox4.Text & "', '" & TextBox5.Text & "', '" & TextBox6.Text & "', '" & TextBox7.Text & "', '" & CheckBox1.Checked & "', '" & CheckBox2.Checked & "')"
     
            cmd.Connection = sqlConnection1
     
            sqlConnection1.Open()
            cmd.ExecuteNonQuery()
            sqlConnection1.Close()
     
            Me.Table1TableAdapter.Fill(Me.BOBBYDataSet.Table1)

    par contre ma requete "SELECT" ne fonctionne pas.
    visiblement la methode "fill" remplit tous les champs au lieu des champs remontés par la requete "select"

    donc si jecherche tous les enregistrements dont le nom est "TOTO", il m'affiche toujours tous les enregistrements.

    si quelqu'un a une idée

    cordialement

    Alain

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    comment as tu créer ton DataAdapter ?
    Graphiquement dans le design d'un dataset ou par ligne de code ?

    Par defaut la fonction Fill est, of course, Select * from MaTable.

    Si tu veux faire un select avec des parametres, il va bien falloir créer une requete qui prends en compte ce paramètre.

    Je peux te diriger vers la bonnne méthode, mais pour ca je dois savoir comment tu a créer ton dataAdapter...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    oui, j'ai d'abord crée la datagridview1 qui, lorsque je suis allé lui indiquer sa source de données (Table1 de la base "Bobby" sous sqlexpress) a automatiquement créé la table1.tableadapteur et la table1.bindingsource... donc pas de création en ligne de code... mais c'est ce que j'aurais besoin en fait

    cordialement

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    En effet, passé par des "automatisme" comme mes sources apportent souvent plus de souci que de solutions.

    A ta place, si je voulais être sur de ce que je fais, j’enlèverai le datasource de ton DGV.

    Puis je créerai un dataset par ligne de code, j'ajouterai une datatable au dataset.

    Puis tu créer un dataAdapter avec une SqlCommande et une SQlConnection.

    Tu attributs au SqlCommand la requetes que tu souhaites, et tu l'execute via la connection, et remplis ta datatable.

    Une fois fait, tu peux attacher ton DGV a ta datatable.

    Tu peux voir quelques exemple sur Plasserre du genre:

    http://plasserre.developpez.com/cour...es2#XVII-F-3-b

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    'Initialisation de la chaîne de paramètres pour la connexion
     
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"  _
     
    "Data Source= c:\nom.mdb;"
     
    'Initialisation de la chaîne contenant l'instruction SQL
     
    strSql = "SELECT FICHEPATIENT.* FROM FICHEPATIENT"
     
    'Instanciation d'un Objet Connexion
     
    ObjetConnection = New OleDbConnection()
     
    'Donner à la propriété ConnectionString les paramètres de connexion
     
    ObjetConnection.ConnectionString = strConn
     
    'Ouvrir la connexion
     
    ObjetConnection.Open()
     
    'Instancier un objet Commande
     
    ObjetCommand = New OleDbCommand(strSql)
     
    'Instancier un objet Adapter
     
    ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
     
    'initialiser l'objet Command
     
    ObjetCommand.Connection() = ObjetConnection
     
    'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
     
    ObjetDataAdapter.Fill(ObjetDataSet, "FICHEPATIENT")
     
    'Mettre dans un Objet DataTable une table du DataSet
     
    ObjetDataTable = ObjetDataSet.Tables("FICHEPATIENT")

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    Citation Envoyé par Ludwig_von_88 Voir le message
    Ok, merci beaucoup, j'essaie ça et je te tiens au courant
    bonjour,

    finalement je m'en suis sorti comme ça :

    dans le datasetdesigner,j'ai créé une requete "FillBy" comprenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CIVILITE, NOM, PRENOM, ADRESSE, CP, VILLE, CHECK1, CHECK2 FROM dbo.Table1 WHERE NOM=@Requete_nom
    et dans le code du bouton pour afficher les données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
            Dim requete_nom As String
            requete_nom = TextBox8.Text
            Table1TableAdapter.FillBy(Me.BOBBYDataSet.Table1, requete_nom)
     
       End Sub
    et quand je saisis par exemple le nom "TOTO" dans la zone de texte TextBox8.Text, la requete s'effectue !!

    merci pour votre aide !!

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

Discussions similaires

  1. DataSet, DataGridView et DataRelation
    Par groskek dans le forum Accès aux données
    Réponses: 6
    Dernier message: 06/02/2009, 11h55
  2. Réponses: 8
    Dernier message: 20/01/2009, 13h11
  3. DataSet, DataGridView et MySql
    Par Roach- dans le forum Windows Forms
    Réponses: 7
    Dernier message: 03/12/2008, 18h59
  4. probleme Delete dataset datagridview
    Par mogur dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/02/2008, 12h04
  5. Update dataset Datagridview
    Par flatron dans le forum Windows Forms
    Réponses: 6
    Dernier message: 20/07/2007, 19h43

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