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

Accès aux données Discussion :

[VB.NET]Pb dans l'utilisation d'un reader


Sujet :

Accès aux données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 19
    Points
    19
    Par défaut [VB.NET]Pb dans l'utilisation d'un reader
    J'essaie de mettre des données d'une base SQL Server dans un fichier excel, et malgré le fait que la requête soit bonne et contienne des résultats je n'arrive pas à acceder aux données voici mon code:

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    Private Sub btn_Traitement_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Traitement.Click
            'Déclaration des variables
            Dim appExcel As Excel.Application
            Dim wkb As Excel.Workbook
            Dim feuil1, feuil2, ftmp As Excel.Worksheet
            Dim strQuery, strQueryLigne, strQueryPays As String               
                      'Requete
            Dim strSociete, strNom, strDate As String                         
          'Societe selectionnée
            Dim connexion, connexionPays, connexionLigne As SqlConnection
            Dim command, commandLigne, commandPays As SqlCommand
            Dim reader, readerLigne, readerPays As SqlDataReader
            Dim row As Object() = Nothing
            Dim connectstring As String
            Dim strChemin As String
            Dim i, intColis, intVolume, intPoids, intValeur As Integer
     
            'Vérification Société Mise en place chaine de connexion
            strSociete = lst_Societe.Text
            Select Case strSociete
                Case "OLC"
                    connectstring =
    "Server=serveur2002;Database=OLC;Trusted_Connection=True"
                Case "OMP"
                    strSociete = "OMP4"
                    connectstring =
    "Server=serveur2002;Database=omp4;Trusted_Connection=True"
                Case "MPC"
                    connectstring =
    "Server=serveur2002;Database=mpc;Trusted_Connection=True"
                Case Else
                    MsgBox("Erreur dans le choix de la société")
                    lst_Societe.Focus()
                    Exit Sub
            End Select
     
            'Etablissement connexion
            connexion = New SqlConnection(connectstring)
            Try
                connexion.Open()
            Catch ex As System.Exception
                MsgBox("Erreur de Connexion à la Base de Données")
                Exit Sub
            End Try
            'Création Application excel et renommage de feuilles
            appExcel = CreateObject("Excel.application")
            appExcel.Visible = True
            wkb = appExcel.Workbooks.Add
            'insertion de deux feuil et suppression des feuilles existantes
            feuil1 = wkb.Worksheets.Add
            feuil1.Name = "ENTETE"
            feuil2 = wkb.Worksheets.Add
            feuil2.Name = "DETAIL"
            feuil2.Move(, feuil1)
            feuil1.Activate()
            ftmp = wkb.Sheets("feuil1")
            ftmp.Delete()
            ftmp = Nothing
     
            'Requete de selection des enregistrement en fonction de date ou de BL
            If rdbtn_Date.Checked Then
                strDate = txt_Date.Text.Substring(6, 4) & "-"
                strDate &= txt_Date.Text.Substring(3, 2) & "-"
                strDate &= txt_Date.Text.Substring(0, 2) & " 00:00:00"
                'strQuery = "SELECT * FROM F_DOCENTETE E, F_COMPTET C WHERE
    E.DO_Tiers = C.CT_Num AND E.DO_TYPE =3 AND
    E.DO_DATE=CONVERT(DATETIME, '" & Me.txt_Date.Text & "', 102)"
                strQuery = "SELECT * , F_DOCENTETE.DO_Type AS Expr1,
    F_DOCENTETE.DO_Date AS Expr2 FROM F_DOCENTETE INNER JOIN
    F_COMPTET ON F_DOCENTETE.DO_Tiers = F_COMPTET.CT_Num WHERE
    (F_DOCENTETE.DO_Type = 1) AND (F_DOCENTETE.DO_Date =
    CONVERT(DATETIME, '" & strDate & "', 102))"
            Else
                If txt_BL1.Text = txt_BL2.Text Or txt_BL2.Text = "" Then
                    strQuery = "SELECT * FROM F_DOCENTETE E ,F_COMPTET C WHERE
    E.DO_Tiers = C.CT_Num AND E.DO_Piece='" & txt_BL1.Text &
    "';"
                Else
                    strQuery = "SELECT * FROM F_DOCENTETE E ,F_COMPTET C WHERE
    E.DO_Tiers = C.CT_Num AND DO_Piece>='" & txt_BL1.Text & "'
    AND DO_Piece<='" & txt_BL2.Text & "'"
                End If
            End If
            command = New SqlCommand(strQuery, connexion)
            reader = command.ExecuteReader()
            'Variable de ligne
            i = 2
            'Boucle de remplissage
            While reader.Read
    'Traitement des données
    end while
    Le problème c'est que lors du while reader.read, l'execution passe directement à end while alors que la requete sort 2 résultats dans l'analyseur de requete sql server.

    Qu'est ce que j'ai mal fait?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 168
    Points : 123
    Points
    123
    Par défaut
    J'imagine que tu n'as pas que ton commentaire dant ton while lorsque tu tests, si oui, c'est normal qu'il aille directement sur endwhile car il n'y a pas d'instruction dans le while.
    Maintenant si c'est le cas il devrait remontrer une fois sur ton while.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    si en fait y a plein d'instruction dans le while mais là je ne les ai pas mise.

    Je remplis les feuilles excel créées avec les données.

    En fait lors du test sur le while pouf il passe directement apres le end while alors que la requete genere des résultats.

    Est-ce que l'execution de la requete est mal faite?

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/01/2015, 14h22
  2. Réponses: 10
    Dernier message: 01/02/2008, 17h14
  3. [VB.NET] Sauvegarde dans TextBox des logons utilisés
    Par stephane93fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/10/2005, 11h00
  4. [VB.NET] Clic sur ImageButton utilisé dans datagrid
    Par viva-emptiness dans le forum ASP.NET
    Réponses: 6
    Dernier message: 15/06/2005, 00h14
  5. Erreur dans l'utilisation de SWAP
    Par mire dans le forum Langage
    Réponses: 12
    Dernier message: 15/03/2003, 21h39

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