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 :

Dataset et SqlDataAdapter


Sujet :

Accès aux données

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut Dataset et SqlDataAdapter
    Bonjour,

    Je commence l'apprentissage de VB.net avec Visual Studio Express 2005 et je désire créer une petite appli d'interrogation de notre base SQL, le résultat des requêtes est chargé dans un DataGridView.
    Dans le 1er cas, je choisis une date par un DateTimePicker, tout se passe bien.
    Dans le 2ème cas, je remplis 2 TextBox et active le prog par un bouton, le prog se plante avec l'erreur (voir lien) :
    www.favresa.ch/Temporaire/ErrVB.jpg

    Le code utilisé est le suivant (insipré de trouvailles dans codes-source) :
    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
    92
    93
    94
    95
    Imports System
    Imports System.Data
    Imports System.Data.SqlClient
    Public Class Form1
        Inherits System.Windows.Forms.Form
     
        Public conn As SqlConnection
        Public CmdS As SqlCommand
        Public da As SqlDataAdapter
        Public ds As New DataSet()
        Public strSql As String
        Public strConn As String = "Initial Catalog=FAVRE;Data Source=Serveur-corc;User ID=sa;Password=;"
        Public Poids As Integer
        Public DateForm As String
        Public JJ As String
        Public MM As String
        Public AA As String
        Public NomCol(6) As String
        Public i As Short
        Public Dossier As String
     
        Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
     
            Dim Annee As String
     
            NomCol(0) = "Dossier"
            NomCol(1) = "N° client"
            NomCol(2) = "Séquence"
            NomCol(3) = "N° liste ingénieur"
            NomCol(4) = "Date"
            NomCol(5) = "Poids (kg)"
     
            Annee = DateTimePicker1.Value
            JJ = Annee.Substring(0, 2)
            MM = Annee.Substring(3, 2)
            AA = Annee.Substring(6, 4)
            Annee = AA & MM & JJ
     
            strSql = "SELECT ESRC_FILE, RC_NUM, PS_CODE, PS_TITLE, DELIVASKED, INVWEIGHT FROM REF_PS WHERE DELIVASKED = " & Annee
     
            Connexion(strConn, strSql)
     
            MiseForme()
     
        End Sub
        Private Sub Connexion(ByVal strConn As String, ByVal strSql As String)
     
            conn = New SqlConnection(strConn)
            conn.Open()
            CmdS = New SqlCommand(strSql)
            da = New SqlDataAdapter(CmdS)
            CmdS.Connection() = conn
            da.Fill(ds, "REF_PS")
     
        End Sub
        Private Sub MiseForme()
     
            Poids = 0
            With ds.Tables("REF_PS")
                For i = 0 To .Rows.Count - 1
                    DateForm = .Rows(i).Item("DELIVASKED")
                    JJ = DateForm.Substring(6, 2)
                    MM = DateForm.Substring(4, 2)
                    AA = DateForm.Substring(0, 4)
                    DateForm = JJ & "/" & MM & "/" & AA
                    .Rows(i).Item("DELIVASKED") = DateForm
                    Poids = Poids + .Rows(i).Item("INVWEIGHT")
                Next
            End With
     
            With ds.Tables("REF_PS")
                For i = 0 To .Columns.Count - 1
                    .Columns(i).ColumnName = NomCol(i)
                Next
            End With
     
            Dim Vue As New DataView(ds.Tables("REF_PS"))
            DataGridView1.DataSource = Vue
            Poids = Poids / 1000
            TextBox4.Text = Poids
     
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Dossier = "CHT" & TextBox1.Text
     
            strSql = "SELECT ESRC_FILE, RC_NUM, PS_CODE, PS_TITLE, DELIVASKED, INVWEIGHT FROM REF_PS WHERE ESRC_FILE = " & Dossier & " AND PS_TITLE LIKE " & TextBox2.Text
     
            Connexion(strConn, strSql)
     
            MiseForme()
     
        End Sub
    End Class
    Merci d'avance a qui peut me dépanner.

    Cordiales salutations. dp

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Je me trompe ou le code que tu nous a envoyé, c'est celui du cas n°1, avec le DateTimePicker, celui qui marche.
    Parce que le message d'erreur parle d'une colonne CHT05, que je ne vois nulle part dana ce que tu nous as envoyé. Pas plus que les 2 TextBox dont tu parles...
    A moins que...

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ne manque t'il pas des ' dans ta requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            strSql = "SELECT ESRC_FILE, RC_NUM, PS_CODE, PS_TITLE, DELIVASKED, INVWEIGHT FROM REF_PS WHERE ESRC_FILE = '" & Dossier & "' AND PS_TITLE LIKE '" & TextBox2.Text & "'"

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Bon, d'accord, je me donne 2 ou 3 claques, pour m'apprendre à lire le code posté jusqu'au bout, même s'il est long...

    Et effectivement, ça devrait être mieux avec les ' ...

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Bieeeeeeeeeeeen sûr !!!
    J'ai pourtant déjà fait pas mal de requêtes SQL.

    Encore merci. dp

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bonjour dp_favresa
    Citation Envoyé par La règle du forum
    Utilisation des tags:
    Afin de faciliter la recherche et la navigation sur ce forum, nous avons mis en place un système de tags (Mots clés entre crochets dans les titres des messages). Ces tags ont pour but de déterminer de manière immédiate le langage en question : ...
    voir > http://www.developpez.net/forums/viewtopic.php?t=326092
    Soyez rigoureux quant aux respects des règles du forum, elles vous garantissent également les réponses les plus appropriées à résoudre votre souci, tout en veillant à ne pas incommoder inutilement les professionnels qui donnent benevolement de leur compétence à vous répondre. Veillez à vous mettre en règle en éditant votre post afin de modifier votre titre en conséquence. Je vous remercie de votre attention à maintenir le forum agréable et efficace.
    (Bouton en haut à droite du premier post de ce thread)
    Cordialement
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/03/2014, 10h09
  2. TextBox,sqlDataAdapter, dataset et dataGrid.
    Par Dadoue dans le forum C#
    Réponses: 9
    Dernier message: 23/06/2010, 09h35
  3. mise à jour d'une BD sqldataadapter dataset
    Par salihovic dans le forum Windows Forms
    Réponses: 1
    Dernier message: 01/12/2007, 13h26
  4. [VB.net][PostgreSQL & ODBC] DataSet => NO_DAT
    Par rebolon dans le forum Accès aux données
    Réponses: 2
    Dernier message: 28/01/2004, 09h01
  5. [FLASH MX 2004 pro] DATASET, XML, ASP
    Par kenshi dans le forum Flash
    Réponses: 4
    Dernier message: 27/01/2004, 10h38

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