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 :

Erreur sql undebuggable !


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 131
    Par défaut Erreur sql undebuggable !
    Bonjour,

    Alors voila je postes car je commences a m'énerver, j'ai une erreur sql que j'arrive pas a résoudre donc je viens voir si quelqu'un saurait d'où vient le probleme x)

    L'erreur c'est :
    Conflit de types d'opérandes : int est incompatible avec ntext
    Logiquement c'est bidon a résoudre mais la je comprends pas !

    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
    Public Sub ModifChronoAN(ByVal Chrono As String, ByVal Societe As Integer, ByVal Annee As Integer)
     
            ' Déclaration de l'objet de connexion
            Dim oConnection As System.Data.SqlClient.SqlConnection
            'Déclaration de l'objet SqlCommand et de la requête SQL
            Dim oCommand As System.Data.SqlClient.SqlCommand
            ' Création de l'objet de connexion
            oConnection = New System.Data.SqlClient.SqlConnection()
     
            ' Ecriture de la chaîne de connexion
            Dim sConnectionString As String
            sConnectionString = "Server=(local);Initial Catalog='CONTRAT EUROPESQL'; Trusted_Connection=True;"
            oConnection.ConnectionString = sConnectionString
     
            ' Ouverture de la connexion
            oConnection.Open()
     
            Dim sSQL As String
            ' Traitement des opération à effectuer sur la base de données
            sSQL = "UPDATE Commun_Parametres SET Contenu = " & Chrono & " " & _
                        "WHERE Societe = " & Societe & " " & _
                        "AND Libelle = 'ChronoAN' " & _
                        "AND Annee = " & Annee & ""
            oCommand = New System.Data.SqlClient.SqlCommand(sSQL, oConnection)
            'On appelle la méthode ExecuteNonQuery pour éxécuter notre commande
            oCommand.ExecuteNonQuery()
            ' Fermeture de la connexion
            oConnection.Close()
        End Sub
    Donc sa c'est la fonction dans laquelle la requete sql bug ! je penses que c'est "chrono" qui bug car dans ma bdd il y a juste le champ "contenu" qui a un type ntext.

    Donc pour résoudre le probleme j'apelles ma fonction comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call ModifChronoAN(CHRONO1.ToString, Me.lbsociete.SelectedValue, (ANNEE))
    Mais rien ne change, il continu a me mettre l'erreur ! J'ai tenter de caster les 3 valeurs mais rien ne change non plus

    Merci d'avance si quelqu'un a une solution ^^

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Je dirais que dans ta requête il manque les ' apostrophes en rouge

    sSQL = "UPDATE Commun_Parametres SET Contenu = '" & Chrono & "' " & _
    "WHERE Societe = " & Societe & " " & _
    "AND Libelle = 'ChronoAN' " & _
    "AND Annee = " & Annee & ""
    Sinon autre moyen en mieux, utiliser les requêtes paramétrées

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Au risque de me répéter, tu n'aurais pas ce problème en utilisant des requêtes paramétrées.
    Tu éviterais ainsi les concaténations hasardeuses et sécuriserais ton appli.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 131
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Bonjour,

    Je dirais que dans ta requête il manque les ' apostrophes en rouge



    Sinon autre moyen en mieux, utiliser les requêtes paramétrées
    Lol sa a marché merci, je suis nul de pas avoir pensé a ca ><

    Mais sinon c'est quoi les requête paramétré ? J'ai regarder dans les outils de Web Dev mais j'ai rien vu de tel :s

    C'est ce qui marche avec ces balises :
    <asp:SqlDataSource> </asp:SqlDataSource> ?

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Un peu de lecture ici

    Prends le temps d'y jeter un oeil, ça te fera au final gagner beaucoup de temps.

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 131
    Par défaut
    Je up ce topic pour pas en recrée un car c'est presque le même sujet j'ai une erreur de syntaxe sur cette requête sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sSQL = "DELETE FROM reference WHERE N°Offre = '" & Offre & "'"
    sur le "°" est-ce que c'est un caractère interdit ?

    ps : J'ai tenté de mettre en place une requête paramétré comme vous m'avez dis mais le "sqldbtype" est introuvable :o donc impossible de rajouter des paramètres

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Quel est le type de ta variable "offre" ?

    Tu trouveras ici un tableau mappant les types du c# aux membre de l'énumération SQLDBType.

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 131
    Par défaut
    "N°Offre" c'est un nvarchar(50) et "Offre" c'est un string

  9. #9
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Dans ce cas tu peux utiliser SQLDBType.NVarchar ou SQLDBType.Varchar

  10. #10
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Euh ton nom de colonne c'est N°Offre ? Pour moi c'est pas très catholique (et dans les autres religions ça doit être pareil) !

    Si c'est bien un nom de colonne, il faut le mettre entre [] pour qu'il soit reconnu comme tel il me semble.

    Et encore une fois, merci d'utiliser les requêtes paramétrées.

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

Discussions similaires

  1. [sqlwindows] erreur sql
    Par chassonj dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 15/12/2003, 11h02
  2. [ODBC] erreur SQL pour les unions qui renvoient vide
    Par fabriceMerc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/11/2003, 11h06
  3. Erreurs SQL Server
    Par ZuZu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 09/10/2003, 16h23
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38
  5. erreur sql loader et performance
    Par mobisky dans le forum SQL*Loader
    Réponses: 14
    Dernier message: 20/08/2003, 12h27

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