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 :

Erreur de l'envoi d'une requête SQL


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Points : 59
    Points
    59
    Par défaut Erreur de l'envoi d'une requête SQL
    Salut tout le monde.
    voici le code de la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> SELECT   NVL( A.DIRECTION,R.DIRECTION) 
    DIRECTION,A.MONTANT_ACC,R.MONTANT_REF
      2     FROM 
      3     (SELECT  DIRECTION ,SUM(MONTANT) MONTANT_ACC  
      4         FROM AVANCE WHERE ETATAVCE='A' GROUP BY DIRECTION )A 
    FULL OUTER JOIN  
      5     (SELECT  DIRECTION ,SUM(MONTANT) MONTANT_REF  
      6         FROM AVANCE WHERE ETATAVCE='R' GROUP BY DIRECTION )R
      7    ON A.DIRECTION=R.DIRECTION;
    le problème avec cette requête c'est qu'elle s'exécute avec Sql+ mais lorsque je l'exécute à partir de VB.net il y a une erreur "ORA-00911:caractère non valide" j'ai vraiment pas comprit pourquoi !!!
    Vous trouverz les détails de cette discussions sur:
    http://www.developpez.net/forums/sho...81#post3176781

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Comment passes-tu ta requête à Oracle? Ne pourrais-tu pas utiliser des procédures stockées?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Points : 59
    Points
    59
    Par défaut
    voici un exemple du 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
     Public Sub LoadBase(ByVal Sql As String, ByVal Table As String)
            ConnString = "Provider=msdaora;Data Source=TUNISAIR;User Id=mehdi;Password=mehdi;"
            Me.Dts.Clear()
            Me.Conn.ConnectionString = ConnString
            Me.Conn.Open()
     
            Dim Dta As New OleDb.OleDbDataAdapter(Sql, Me.Conn)
     
            Try
                Dta.Fill(Me.Dts, Table)
            Catch ex As Exception
                If Personnel.Colonne.Text = "DATERECRUTEMENT" Then
                    MsgBox("Insérez une date")
                Else
                    MessageBox.Show("Erreur", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End If
    End Try
     
            Me._Dtt = Me.Dts.Tables(Table)
            Me.Conn.Close()
     
        End Sub
    La variable Sql c'est la variable qui contient la requête

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Fais voir comment tu assignes la requête à la variable Sql
    Tu as peut-être une erreur dans le format de la chaîne.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Points : 59
    Points
    59
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    If EtatAvce.Text = "Accepté et Refusé" Then
                ' Sql2 = "select NVL(A.DIRECTION,R.DIRECTION)DIRECTION, A.MONTANT_ACC,R.MONTANT_REF FROM (SELECT DIRECTION,SUM(MONTANT) MONTANT_ACC FROM AVANCE WHERE ETATAVCE='A' and DTSAISIE>=" & "'" & DateDebut.Text & "'" & "and DTSAISIE<=" & "'" & DateFin.Text & "'" & " GROUP BY DIRECTION)A FULL OUTER JOIN (SELECT DIRECTION,SUM(MONTANT) MONTANT_REF FROM AVANCE WHERE ETATAVCE='R' and DTSAISIE>=" & "'" & DateDebut.Text & "'" & "and DTSAISIE<=" & "'" & DateFin.Text & "'" & " GROUP BY DIRECTION)R ON A.DIRECTION=R.DIRECTION;"
                Sql2 = "select NVL(A.DIRECTION,R.DIRECTION)DIRECTION, A.MONTANT_ACC,R.MONTANT_REF FROM (SELECT DIRECTION,SUM(MONTANT) MONTANT_ACC FROM AVANCE WHERE ETATAVCE='A' GROUP BY DIRECTION)A FULL OUTER JOIN(SELECT DIRECTION,SUM(MONTANT) MONTANT_REF FROM AVANCE WHERE ETATAVCE='R'GROUP BY DIRECTION)R ON A.DIRECTION=R.DIRECTION;"
     
                Table = "AVANCE"
                LoadInDatagridView(Sql2, Table)
                If Me.CC._Dtt.Rows.Count = 0 Then
                    MsgBox("Aucune Ligne trouvée")
                Else
                    source_graph()
                End If
            End If

  6. #6
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Attention aux espaces:
    'R'GROUP

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Si ce n'est pas ce que propose Ditch, essaie d'enlever le point-virgule... sinon ça semble correct, je ne vois pas trop où est le problème.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 99
    Points : 59
    Points
    59
    Par défaut

    Merci Tomlev. C'est la première fois que ça m'arrive.d'habitude le ";" ne m'a jamais causé. Re merci pour tous ce qui m'ont aidé à résoudre mes problèmes

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

Discussions similaires

  1. Envoi d'une requête SQL SELECT via des socket
    Par akram1985 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/09/2011, 11h06
  2. [KSH] envoie d'une requête SQL dans un script
    Par liegeus dans le forum Linux
    Réponses: 1
    Dernier message: 11/07/2011, 19h58
  3. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 12h50
  4. Erreur d'exécution d'une requête sql
    Par marceline dans le forum Oracle
    Réponses: 2
    Dernier message: 11/07/2006, 13h12
  5. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08

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