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 :

"Nom d'objet non valide" [Débutant]


Sujet :

Accès aux données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut "Nom d'objet non valide"
    Bonjour,

    Mon niveau en C# et surtout en ADO.NET est clairement résumé dans mon pseudo...
    J'ai créé un petit projet avec la base de données fichier AdventureWorksLT2008R2.mdf pour commencer à me former avec l'ADO.NET. Mais lorsque j'essaie d'exécuter mon tout premier essai j'ai systématiquement l'erreur suivante "Nom d'objet Address non valide" !?
    Ma connexion est bien ouverte, les champs correspondent bien à ceux présent dans la table et la table elle-même porte le nom suivant "Address (SalesLT)".

    Objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        public class Adresse
        {
            public string AdressLine1 { get; set; }
            public string AdressLine2 { get; set; }
            public string City { get; set; }
            public string StateProvince { get; set; }
        }
    Lecture des données :
    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
     
            public static IList<Adresse> getListeAdresse()
            {
                IList<Adresse> result = new List<Adresse>();
                SqlConnection cnx = DataConnect.Connection;
     
                cnx.Open();
     
                try
                {
                    var cd = new SqlCommand();
                    cd.CommandText = "select [AdressLine1], [AdressLine2], [City], [StateProvince]  FROM [Address (SalesLT)]";
                    cd.Connection = cnx;
                    using (SqlDataReader dr = cd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            result.Add(
                                new Adresse()
                                {
                                    AdressLine1 = (dr["AdressLine1"] != DBNull.Value) ? (string)dr["AdressLine1"] : string.Empty,
                                    AdressLine2 = (dr["AdressLine2"] != DBNull.Value) ? (string)dr["AdressLine2"] : string.Empty,
                                    City = (dr["City"] != DBNull.Value) ? (string)dr["City"] : string.Empty,
                                    StateProvince = (dr["StateProvince"] != DBNull.Value) ? (string)dr["StateProvince"] : string.Empty
                                }
                                );
                        }
                    }
                }
                //catch(Exception ex)
                //{
     
                //}
                finally
                {
                    cnx.Close();
                }
     
                return result;
     
            }
    J'ai essayé avec ceci : [AdventureWorksLT2008R2_Data.Address] ou avec ceci [Address] ou ceci Address mais rien n'y fait :-(

    Ce qui est surprenant est que j'ai effectué la même chose avec la base de données NORTHWIND.mdf avec un objet adapté et cela fonctionne très bien !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        public class Customers
        {
            public string CustomerID { get; set; }
            public string CompanyName { get; set; }
            public string ContactName { get; set; }
            public string Address { get; set; }
        }
    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
     
            public static IList<Customers> getListeAdresse()
            {
                IList<Customers> result = new List<Customers>();
                SqlConnection cnx = DataConnect.Connection;
     
                cnx.Open();
     
                try
                {
                    var cd = new SqlCommand();
                    cd.CommandText = "SELECT CustomerID, ContactName, CompanyName, Address FROM dbo.Customers";
                    cd.CommandType = CommandType.Text;
                    cd.Connection = cnx;
                    using (SqlDataReader dr = cd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            result.Add(
                                    new Customers()
                                    {
                                        CustomerID = (dr["CustomerID"] != DBNull.Value) ? (string)dr["CustomerID"] : string.Empty,
                                        ContactName = (dr["ContactName"] != DBNull.Value) ? (string)dr["ContactName"] : string.Empty,
                                        CompanyName = (dr["CompanyName"] != DBNull.Value) ? (string)dr["CompanyName"] : string.Empty,
                                        Address = (dr["Address"] != DBNull.Value) ? (string)dr["Address"] : string.Empty
                                    }
                                    );
                        }
                    }
                }
                //catch(Exception ex)
                //{
     
                //}
                finally
                {
                    cnx.Close();
                }
     
                return result;
     
            }
    Quelqu'un pourrait-il éclairer ma lanterne ?

    Merci d'avance

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé !

    Il fallait entrer :

    cd.CommandText = "select AddressLine1, AddressLine2, City, StateProvince FROM SalesLT.Address"
    Pas simple lorsqu'on tombe sur des trucs pareils

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
        public class Adresse
        {
            public string AddressLine1 { get; set; }
            public string AddressLine2 { get; set; }
            public string City { get; set; }
            public string StateProvince { get; set; }
        }
    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
            public static IList<Adresse> getListeAdresses()
            {
                IList<Adresse> result = new List<Adresse>();
                SqlConnection cnx = DataConnect.Connection;
    
                cnx.Open();
    
                try
                {
                    var cd = new SqlCommand();
    
                    cd.CommandText = "select AddressLine1, AddressLine2, City, StateProvince FROM SalesLT.Address";
                    cd.CommandType = CommandType.Text;
                    cd.Connection = cnx;
                    using (SqlDataReader dr = cd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            result.Add(
                                    new Adresse()
                                    {
                                        AddressLine1 = (dr["AddressLine1"] != DBNull.Value) ? (string)dr["AddressLine1"] : string.Empty,
                                        AddressLine2 = (dr["AddressLine2"] != DBNull.Value) ? (string)dr["AddressLine2"] : string.Empty,
                                        City = (dr["City"] != DBNull.Value) ? (string)dr["City"] : string.Empty,
                                        StateProvince = (dr["StateProvince"] != DBNull.Value) ? (string)dr["StateProvince"] : string.Empty
                                    }
                                    );
                        }
                    }
                }
               // catch(Exception ex)
               // {
                    
               // }
                finally
                {
                    cnx.Close();
                }
    
                return result;
    
            }
    Quelqu'un pourrait-il m'expliquer pourquoi faut-il spécifier SalesLT.Address dans la requête et que signifie dbo.nomDeTable que l'on voit souvent dans les exemples sur Internet ?

    Désolé pour mon ignorance mais je suppose que tout le monde est passé par là...

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

Discussions similaires

  1. Nommage fonction table : Nom d'objet non valide
    Par Gouxosor dans le forum Développement
    Réponses: 2
    Dernier message: 02/05/2015, 09h04
  2. Nom d'objet non valide
    Par Genyuumaru dans le forum Entity Framework
    Réponses: 1
    Dernier message: 15/05/2013, 09h05
  3. Nom d'objet non valide
    Par sleeg dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 18/10/2011, 12h32
  4. Nom d'objet non valide
    Par dvi24 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/04/2008, 11h22
  5. Réponses: 3
    Dernier message: 11/09/2006, 16h25

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