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][2.0][VS 2005] Erreur Sql [Débutant(e)]


Sujet :

Accès aux données

  1. #1
    Membre habitué Avatar de guandal
    Profil pro
    Analyste programmeur
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Points : 168
    Points
    168
    Par défaut [VB.net][2.0][VS 2005] Erreur Sql
    Bonjour,
    j'ai erreur que je ne comprend , parceque je suis debutant en Visual studio et les Datagridview.
    J'essaie d'affiche le resulta d'une des mes requetes voci le 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
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim cmd As SqlCommand
            Dim DtSet As DataSet
            Dim DtAdapter As SqlDataAdapter
            Dim connection As New SqlConnection
            Try
                connection = New SqlConnection()
                connection.ConnectionString = "Data Source=FRSESQL1;Initial Catalog=GTP;Integrated Security=True"
     
     
     
                'Ouverture
                connection.Open()
     
                cmd = New SqlCommand
                cmd.Connection = connection
                cmd.CommandText = "select a.dat date , e.categ, f.categlib, a.secid code_activite," & _
          " b.libsec lib_activite, a.s_secid code_sous_activite, c.s_libsec lib_sous_activite," & _
          " cast(REPLACE (cast(sum(dbo.ST_HC(d.C9))  as char(10)) , '.' , ',' ) as char(12)) tps_rh," & _
          " cast(REPLACE (cast(sum(dbo.ST_HC(a.tval))  as char(10)) , '.' , ',' )  as char(12)) tps_act" & _
          " from sec b, sousec c, persvar e, categorie f, comptj d, cptsec a,pers g " & _
         " where(a.secid = b.secid And a.s_secid = c.s_secid And b.secid = c.secid)" & _
         " and  (a.matric=d.matric and a.dat=d.dat )" & _
         " and  (a.matric=e.matric and a.dat between e.dsitud and e.dsituf )" & _
         " and  (e.categ=f.categ and e.categ!=4000) and  d.dat between " & _
         DateTimePicker1.Value & " and " & DateTimePicker2.Value & " group by a.dat, a.secid, b.libsec, a.s_secid, c.s_libsec, e.categ, f.categlib"
     
     
                'Création du DataSet
                DtSet = New DataSet
                ' Création du DataAdapter
                DtAdapter = New SqlDataAdapter()
                DtAdapter.SelectCommand = cmd
                DtAdapter.Fill(DtSet, "My_Table")
                Me.DataGridView1.DataSource = DtSet
                Me.DataGridView1.DataMember = "My_Table"
     
            Catch ex As Exception
                MessageBox.Show(ex.ToString, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Finally
                'Fermer la connection
                connection.Close()
     
     
            End Try
     
     
        End Sub
    mais j'execute j'ai une erreur au niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DtAdapter.Fill(DtSet, "My_Table")
    l'erreur est la suivante :
    System.Data.SqlClient.SqlException :Line 1 Incorrect syntax near '11'
    je pense que c'est ma requete qui est mauvaise peut etre?
    mais je n'arrive pas à comprendre l'erreur.
    Au secours.
    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Et bien si tu as une erreur sur l'instruction FILL c'est bien que ta requete est incorrect.
    Essaye d'abord ta requete dans l'editeur SQL de ta BD.

  3. #3
    Membre habitué Avatar de guandal
    Profil pro
    Analyste programmeur
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Points : 168
    Points
    168
    Par défaut
    elle marche la requete (tout seule), je l'ai essayée .
    en mode debogue j'ai l'excetpion au niveau de l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Création du DataSet
                DtSet = New DataSet
    pourtant c'est correct , du moins je pense.

  4. #4
    En attente de confirmation mail
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Points : 669
    Points
    669
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    d.dat between " & _
         DateTimePicker1.Value & " and " & DateTimePicker2.Value
    D'après ce que je vois, c'est DataTimePricker1.Value et DataTimePricker2.Value qui posent problème

    Utilise AddParameter pour ajouter des paramètres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    cmd.CommandText = "...d.dat between @DateValue2 and @DateValue1 ..."
     
    cmd.AddPArameter(@DateValue1, DateTimePicker1.Value)
    cmd.AddPArameter(@DateValue2, DateTimePicker2.Value)

  5. #5
    Membre habitué Avatar de guandal
    Profil pro
    Analyste programmeur
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Points : 168
    Points
    168
    Par défaut
    Exactement je l'ai transcrit de cette maniére:
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
         cmd.CommandText = "select a.dat date , e.categ, f.categlib, a.secid code_activite," & _
          " b.libsec lib_activite, a.s_secid code_sous_activite, c.s_libsec lib_sous_activite," & _
          " cast(REPLACE (cast(sum(dbo.ST_HC(d.C9))  as char(10)) , '.' , ',' ) as char(12)) tps_rh," & _
          " cast(REPLACE (cast(sum(dbo.ST_HC(a.tval))  as char(10)) , '.' , ',' )  as char(12)) tps_act" & _
          " from sec b, sousec c, persvar e, categorie f, comptj d, cptsec a,pers g " & _
         " where(a.secid = b.secid And a.s_secid = c.s_secid And b.secid = c.secid)" & _
         " and  (a.matric=d.matric and a.dat=d.dat )" & _
         " and  (a.matric=e.matric and a.dat between e.dsitud and e.dsituf )" & _
         " and  (e.categ=f.categ and e.categ!=4000) and  d.dat between " & _
         " @debut_periode  and   @fin_periode   group by a.dat, a.secid, b.libsec, a.s_secid, c.s_libsec, e.categ, f.categlib"
                cmd.Parameters.Add(New SqlParameter("@debut_periode", SqlDbType.DateTime))
                cmd.Parameters("@debut_periode").Value = DateTimePicker1.Value
                cmd.Parameters.Add(New SqlParameter("@fin_periode", SqlDbType.DateTime))
                cmd.Parameters("@fin_periode").Value = DateTimePicker2.Value
    Merci bocoup.

  6. #6
    En attente de confirmation mail
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Points : 669
    Points
    669
    Par défaut
    En effet c'est beaucoup plus lisible comme ça !! bonne idée !!

    [Edit]
    C'est ironic ... bien sur

  7. #7
    En attente de confirmation mail
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Points : 669
    Points
    669
    Par défaut
    Je me rend compte que le AddParameter n'existe pas à l'origine.

    En fait, j'ai un objet Command que j'ai fait hérité auquel j'ai ajouté une procédure AddParameter pour ajouter des paramètre facilement.
    Mais tu as compris ce qu'il fallait faire.

    Par contre, pense à ceux qui te lisent...

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

Discussions similaires

  1. [ASP.NET 2.0][VS 2005] Erreur UNKNOWN.RPT
    Par just1980 dans le forum SDK
    Réponses: 3
    Dernier message: 11/10/2007, 17h50
  2. [VB.net 2005] Erreur de connexion à Access
    Par PoZZyX dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/09/2006, 12h01
  3. [VB.Net] Pourquoi ai-je une Erreur SQL sur un update ?
    Par ndsaerith dans le forum Accès aux données
    Réponses: 3
    Dernier message: 03/08/2006, 11h32
  4. [VB.NET 2005] Erreur lors d'un envois de mail
    Par mimil77210 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/06/2006, 14h00
  5. [SQL server 2005 express] liste des erreurs SQL serveur 2005
    Par critok dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/05/2006, 19h17

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