none
Récupération de données RRS feed

  • Question

  • bonjour,

    j'ai écrit un programme qui me permet de récupérer des données à partir d'une requête sql ayant pour critère des dates et affiché le résultat dans un datagriview.

    mais je n'ai pas de résultat .Je suis bloqué Aidez moi SVP !?

    Voici mon code que j'ai tapé:

     Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Projet de mise a jour\Basededonnées\Edson80.mdb;Jet OLEDB:System Database=system.mdw;") 'Définition de la connexion
                Dim Mycommand1 As OleDbCommand = MyConnexion.CreateCommand() 'générer la connexion
                Mycommand1.CommandText = " SELECT Fi_Bordereau.F_numbord, Fi_Bordereau.F_numclib, " & _
                " Fi_Bordereau.F_nomclib, Fi_Bordereau.F_prenclib, " & _
                "Fi_Bordereau.F_libelPb, Fi_Bordereau.F_coutPb, " & _
                "Fi_Bordereau.F_partnonAPb, Fi_Bordereau.F_partAssrPb," & _
                " Fi_Bordereau.F_NomTierceb, Fi_Bordereau.F_ModeRgltb, Fi_Bordereau.F_Dateb " & _
                "FROM Fi_Bordereau " & _
                " WHERE (((Fi_Bordereau.F_Dateb) Between #" & DateTimePickerCaissePD.Text & "# And #" & DateTimePickerCaissePF.Text & "#));"
                MyConnexion.Open()
                Dim ColN0 As String 'déclarer un ensemble de ligne
                Dim ColN1 As String
                Dim ColN2 As String
                Dim ColN3 As String
                Dim ColN4 As String
                Dim ColN5 As String
                Dim ColN6 As String
                Dim ColN7 As String
                Dim ColN8 As String
                Dim ColN9 As String
                Dim ColN10 As String
                On Error Resume Next
                Dim myReaderNA As OleDbDataReader = Mycommand1.ExecuteReader()
                '----------------- Recherche de la donnée ----------------
                Do While myReaderNA.Read()
                    ColN0 = myReaderNA.GetString(0)   'affiche la rubrique lue dans la zone liste
                    ColN1 = myReaderNA.GetString(1)
                    ColN2 = myReaderNA.GetString(2)
                    ColN3 = myReaderNA.GetString(3)
                    ColN4 = myReaderNA.GetString(4)
                    ColN5 = myReaderNA.GetValue(5).ToString
                    ColN6 = myReaderNA.GetValue(6).ToString
                    ColN7 = myReaderNA.GetValue(7).ToString
                    ColN8 = myReaderNA.GetString(8)
                    ColN9 = myReaderNA.GetString(9)
                    ColN10 = myReaderNA.GetDateTime(10).ToShortDateString
                    Me.DataGridViewNAssure.Rows.Add(ColN0, ColN1, ColN2, ColN3, ColN4, ColN5, ColN6, ColN7, ColN8, ColN9, ColN10)
                Loop

    jeudi 9 septembre 2010 10:05

Réponses

  • Bonjour,

    Voici mon nouveau code et il m'affiche le résultat voulu :

      Dim d1 As String
                Dim d2 As String
                Dim date1 As DateTime = DateTimePickerCaissePD.Value 'Formatage des dates
                d1 = date1.ToString("yyyy/MM/dd")
                Dim date2 As DateTime = DateTimePickerCaissePD.Value 'Formatage des dates
                d2 = date2.ToString("yyyy/MM/dd")
                Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Projet de mise a jour\Basededonnées\Edson80.mdb;Jet OLEDB:System Database=system.mdw;") 'Définition de la connexion
                Dim Mycommand1 As OleDbCommand = MyConnexion.CreateCommand() 'générer la connexion
                Mycommand1.CommandText = " SELECT Fi_Bordereau.F_numbord, Fi_Bordereau.F_numclib, " & _
                " Fi_Bordereau.F_nomclib, Fi_Bordereau.F_prenclib, " & _
                "Fi_Bordereau.F_libelPb, Fi_Bordereau.F_coutPb, " & _
                "Fi_Bordereau.F_partnonAPb, Fi_Bordereau.F_partAssrPb," & _
                " Fi_Bordereau.F_NomTierceb, Fi_Bordereau.F_ModeRgltb, Fi_Bordereau.F_Dateb " & _
                "FROM Fi_Bordereau " & _
                " WHERE (((Fi_Bordereau.F_Dateb) Between #" & d1 & "# And #" & d2 & "#));"
                MyConnexion.Open()
                Dim ColN0 As String 'déclarer un ensemble de ligne
                Dim ColN1 As String
                Dim ColN2 As String
                Dim ColN3 As String
                Dim ColN4 As String
                Dim ColN5 As String
                Dim ColN6 As String
                Dim ColN7 As String
                Dim ColN8 As String
                Dim ColN9 As String
                Dim ColN10 As String
                'On Error Resume Next
                Dim myReaderNA As OleDbDataReader = Mycommand1.ExecuteReader()
                '----------------- Recherche de la donnée ----------------
                Do While myReaderNA.Read()
                    ColN0 = myReaderNA.GetString(0)   'affiche la rubrique lue dans la zone liste
                    ColN1 = myReaderNA.GetString(1)
                    ColN2 = myReaderNA.GetString(2)
                    ColN3 = myReaderNA.GetString(3)
                    ColN4 = myReaderNA.GetString(4)
                    ColN5 = myReaderNA.GetValue(5).ToString
                    ColN6 = myReaderNA.GetValue(6).ToString
                    ColN7 = myReaderNA.GetValue(7).ToString
                    ColN8 = myReaderNA.GetString(8)
                    ColN9 = myReaderNA.GetString(9)
                    ColN10 = myReaderNA.GetDateTime(10).ToShortDateString
                    Me.DataGridViewNAssure.Rows.Add(ColN0, ColN1, ColN2, ColN3, ColN4, ColN5, ColN6, ColN7, ColN8, ColN9, ColN10)
                Loop

    Merci pour votre soutien

     

    • Marqué comme réponse Alex Petrescu mardi 14 septembre 2010 11:59
    lundi 13 septembre 2010 08:52

Toutes les réponses

  • Cela semble être un problème dû au fait que ta requête SQL ne retourne aucune valeur.

    L'idéal serait de mettre un Breakpoint juste après la ligne Mycommand1.CommandText = ... et ensuite prendre la valeur de Mycommand1.CommandText et l'essayer directement dans votre BD Access. Si Access ne retourne rien, alors modifié votre requête pour que cela fonctionne dans Access et faites les modifications en conséquences dans votre code.


    Microsoft MVP C# || gabrielmongeon.com
    jeudi 9 septembre 2010 21:58
    Modérateur
  • Bonjour,

     

    Essayez de vérifier aussi cette requête en l’exécutant directement en Access, sur la base de données concernée.

    Je vous remercie de nous tenir au courant avec les résultats.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    lundi 13 septembre 2010 08:11
  • Bonjour,

    Voici mon nouveau code et il m'affiche le résultat voulu :

      Dim d1 As String
                Dim d2 As String
                Dim date1 As DateTime = DateTimePickerCaissePD.Value 'Formatage des dates
                d1 = date1.ToString("yyyy/MM/dd")
                Dim date2 As DateTime = DateTimePickerCaissePD.Value 'Formatage des dates
                d2 = date2.ToString("yyyy/MM/dd")
                Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Projet de mise a jour\Basededonnées\Edson80.mdb;Jet OLEDB:System Database=system.mdw;") 'Définition de la connexion
                Dim Mycommand1 As OleDbCommand = MyConnexion.CreateCommand() 'générer la connexion
                Mycommand1.CommandText = " SELECT Fi_Bordereau.F_numbord, Fi_Bordereau.F_numclib, " & _
                " Fi_Bordereau.F_nomclib, Fi_Bordereau.F_prenclib, " & _
                "Fi_Bordereau.F_libelPb, Fi_Bordereau.F_coutPb, " & _
                "Fi_Bordereau.F_partnonAPb, Fi_Bordereau.F_partAssrPb," & _
                " Fi_Bordereau.F_NomTierceb, Fi_Bordereau.F_ModeRgltb, Fi_Bordereau.F_Dateb " & _
                "FROM Fi_Bordereau " & _
                " WHERE (((Fi_Bordereau.F_Dateb) Between #" & d1 & "# And #" & d2 & "#));"
                MyConnexion.Open()
                Dim ColN0 As String 'déclarer un ensemble de ligne
                Dim ColN1 As String
                Dim ColN2 As String
                Dim ColN3 As String
                Dim ColN4 As String
                Dim ColN5 As String
                Dim ColN6 As String
                Dim ColN7 As String
                Dim ColN8 As String
                Dim ColN9 As String
                Dim ColN10 As String
                'On Error Resume Next
                Dim myReaderNA As OleDbDataReader = Mycommand1.ExecuteReader()
                '----------------- Recherche de la donnée ----------------
                Do While myReaderNA.Read()
                    ColN0 = myReaderNA.GetString(0)   'affiche la rubrique lue dans la zone liste
                    ColN1 = myReaderNA.GetString(1)
                    ColN2 = myReaderNA.GetString(2)
                    ColN3 = myReaderNA.GetString(3)
                    ColN4 = myReaderNA.GetString(4)
                    ColN5 = myReaderNA.GetValue(5).ToString
                    ColN6 = myReaderNA.GetValue(6).ToString
                    ColN7 = myReaderNA.GetValue(7).ToString
                    ColN8 = myReaderNA.GetString(8)
                    ColN9 = myReaderNA.GetString(9)
                    ColN10 = myReaderNA.GetDateTime(10).ToShortDateString
                    Me.DataGridViewNAssure.Rows.Add(ColN0, ColN1, ColN2, ColN3, ColN4, ColN5, ColN6, ColN7, ColN8, ColN9, ColN10)
                Loop

    Merci pour votre soutien

     

    • Marqué comme réponse Alex Petrescu mardi 14 septembre 2010 11:59
    lundi 13 septembre 2010 08:52