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 :

probleme avec les exceptions SQL


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 187
    Par défaut probleme avec les exceptions SQL
    Bonjour,

    Je sais pas pourquoi je recois cette erreur à chaque :
    Nom d'objet 'utilisateur' non valide.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.SqlClient.SqlException: Nom d'objet 'utilisateur' non valide.

    Erreur source:

    Ligne 30 :
    Ligne 31 : Dim CurrentName As String
    Ligne 32 : CurrentName = CStr(com.ExecuteScalar)
    Ligne 33 :
    Ligne 34 : If CurrentName <> "" Then
    Sachant que le nom de la table est correcte .
    voila 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
     
    Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles LoginUser.Authenticate
            Dim username As String
            Dim pwd As String
            Dim pName As String
     
            username = LoginUser.UserName
            pwd = LoginUser.Password
            pName = ""
            Dim strConn As String
            strConn = WebConfigurationManager.ConnectionStrings("basedossierConnectionString").ConnectionString
            Dim Conn As New SqlConnection(strConn)
            Conn.Open()
            Dim sqlUserName As String
            sqlUserName = "SELECT username, password FROM utilisateur"
            sqlUserName &= " WHERE (username = @UserName"
            sqlUserName &= " AND password = @Password)"
     
            Dim com As New SqlCommand(sqlUserName, Conn)
            com.Parameters.AddWithValue("@UserName", username)
            com.Parameters.AddWithValue("@Password", pwd)
     
            Dim CurrentName As String
            CurrentName = CStr(com.ExecuteScalar)
     
            If CurrentName <> "" Then
                Session("UserAuthentication") = username
     
                Response.Redirect("Default.aspx")
            Else
                Session("UserAuthentication") = ""
            End If
     
        End Sub

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Le ExecuteScalar est inhabituel ici, puisque, par définition, il sert à exécuter une requête avec un retour scalaire (select count(*), select max(*), etc ....)

    Néanmoins, comme il va retourner le premier nom trouvé ce n'est pas le problème.

    Tu ne préfixe pas le nom de la table par le schéma. est tu sur que c'est bien dbo ?

    dans le doute change utilisateur par [dbo].Utilisateur.

    Sinon, es tu sur que ta connexion possède une base ? Il est en effet possible de faire une connexion au serveur sans préciser de base dans la chaine de connexion, mais dans ce cas, la syntaxe des tables doit être sous la forme :

    [Base].[Schema].[Table]

  3. #3
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    En effet dans ton exemple il te faut :
    - soit utiliser un reader
    - soit modifier ta requête afin qu'elle ne renvoie qu'un seul résultat

    De fait, tu n'utilises pas le password tu peux donc t'en passer.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 187
    Par défaut
    Mais marche déjà avant que j'essaye de l'utiliser dans un autre projet .

  5. #5
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Ne voyant pas de variable 'utilisateur' (cf message d'erreur), je suppose qu'il s'agit d'une de tes valeurs non ?
    Ce serait peut être un problème avec la méthode AddWithValue (qui normalement fait la conversion toute seule)

    As-tu essayé avec cette méthode si au cas où :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    command.Parameters.Add("@ID", SqlDbType.Int);
    command.Parameters["@ID"].Value = customerID;

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par jbrasselet Voir le message
    Ne voyant pas de variable 'utilisateur' (cf message d'erreur), je suppose qu'il s'agit d'une de tes valeurs non ?
    Non, c'est le nom de la table présent dans la requête.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 187
    Par défaut
    Bonjour,

    Sinon, es tu sur que ta connexion possède une base ? Il est en effet possible de faire une connexion au serveur sans préciser de base dans la chaine de connexion, mais dans ce cas, la syntaxe des tables doit être sous la forme :

    [Base].[Schema].[Table]
    Ma chaine de connexion est définie dans web.config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <connectionStrings >
        <add name="basedossierConnectionString"
             connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
             providerName="System.Data.SqlClient" />
      </connectionStrings>
    cordialement.

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Bizarre, bizarre.

    Poste le DDL de création de la table utilisateur.

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 187
    Par défaut
    c'est résolue merci le problème existe en chaine de connexion.

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

Discussions similaires

  1. Probleme avec les Exceptions personnalisées
    Par sitws dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 02/05/2011, 23h12
  2. Probleme avec les Chars SQL Server
    Par Nico820 dans le forum Développement
    Réponses: 2
    Dernier message: 30/12/2010, 16h33
  3. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 03/08/2006, 16h55
  4. Réponses: 1
    Dernier message: 14/04/2006, 11h02
  5. [MySQL] Encore un probleme de variables avec les requetes sql
    Par eown dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/04/2006, 11h01

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