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

ASP.NET Discussion :

Incorrect syntax near ' '.


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut Incorrect syntax near ' '.
    Bonjour à tous,

    J'essaye de mettre quelques valeurs dans une table SQL Server:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim tit As Integer = tiers()
    strSQL = "INSERT INTO PCE_T_dossiers(Agence, Tiers, Titre, Intitule, Collaborateur, DateOuverture, Ref_client, Solde, EnEdition) " & _
             "VALUES(" & Me.lstAgences.Text & ", " & tit & ", '" & Me.lstTitre.Text & "', '" & Me.txtIntitule.Text & "', '" & Mec & "', CONVERT(datetime, '" & Format(Date.Now, "MM/dd/yyyy HH:mm:ss") & "', 102), '" & Me.lblRefClient.Text & "', " & Me.txtSolde.Text.Replace(",", ".") & ", 1)"
    Dim connection As SqlConnection = New SqlConnection(PCEConn)
    connection.Open()
    MsgBox(strSQL)
    Dim command As SqlCommand = New SqlCommand(strSQL, connection)
    Dim affectedrows As Integer = command.ExecuteNonQuery()
    connection.Close()
    Mais lors de l'execution du code j'ai l'erreur "Incorrect syntax near ' '."

    Je pense que le problème viens du champ Solde, mais je ne suis pas sur...

    Est-ce que quelqu'un peut m'aider svp?
    Merci d'avance.

  2. #2
    Membre averti
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    59
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 59
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strSQL = "INSERT INTO PCE_T_dossiers(Agence, Tiers, Titre, Intitule, Collaborateur, DateOuverture, Ref_client, Solde, EnEdition) " & _
             "VALUES(" & Me.lstAgences.Text & ", " & tit & ", '" & Me.lstTitre.Text & "', '" & Me.txtIntitule.Text & "', '" & Mec & "', CONVERT(datetime, '" & Format(Date.Now, "MM/dd/yyyy HH:mm:ss") & "', 102), '" & Me.lblRefClient.Text & "', " & Me.txtSolde.Text.Replace(",", ".") & ", 1)"
    Je pense que tu as oubliés des ' pour entourer les valeurs textuelles.
    Un bout corrigé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    , " & Me.txtSolde.Text.Replace(",", ".") & ",
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    , '" & Me.txtSolde.Text.Replace(",", ".") & "',
    Sinon je te conseil d'utiliser les paramètres pour tes requêtes sql.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    J'ai déjà essayé...


    C'est une valeur Real dans ma table SQL Server...
    Mais merci pour ta reponse luunaz!

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Passe en debug et regarde ce que vaut ta requête.
    Ca sera plus simple à voir.

    Et +1 pour passer par des requêtes paramétrées

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    On dirait du VB.NET, on est dans le forum C# ici

    Je te donnerais le même conseil que luunaz : il est beaucoup plus facile de déboguer une requête SQL paramètrée.

    En plus, ADO.NET se chargera de pas mal de conversions (passage de ' à '' automatiquement etc.) qu'on oublie fréquemment de faire.

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    Bonjour à tous...
    Je me suis trompé de forum, désolé...


    Le MsgBox sert à voir la requete. Je vais la mettre en annexe

    Et bien sure,
    Merci à tous



    EDIT: J'ai peut-être une piste:
    J'ai essayé avec une valeur inferieur, (600.15€) et il a marché.
    Je crois que peut-être le space soit le problème...
    Images attachées Images attachées  

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    C'est ça!

    J'ai effacé manuellement le space et il a marché.

    Mon nouveau problème:
    J'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.txtSolde.Text.Replace(",", ".").Replace(" ", "")
    et il a rien fait.

    Pour tester, j'ai mis aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.txtSolde.Text.Replace(",", ".").Replace(" ", "_")
    Mais il ne change pas le space du numéro (# ###,## devient # ###.##)
    Est-ce que vous savez comment le faire?

  8. #8
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    9 701.6, c'est pas une valeur numérique

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

Discussions similaires

  1. Incorrect syntax near the keyword
    Par Trady dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 31/12/2012, 15h41
  2. [Server 2000] Transact-sql error Incorrect syntax near '>'
    Par kaygee dans le forum Développement
    Réponses: 3
    Dernier message: 30/03/2011, 13h38
  3. [SQLServerException] Incorrect syntax near '@P0'
    Par manube dans le forum JDBC
    Réponses: 3
    Dernier message: 17/02/2011, 12h00
  4. [SSIS] [2K8] Incorrect syntax near the keyword 'MERGE'
    Par gassisprog dans le forum SSIS
    Réponses: 1
    Dernier message: 28/09/2009, 17h02
  5. Réponses: 2
    Dernier message: 14/04/2009, 10h03

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