2015-12-14 15 views
5

Wykonuję projekt przy użyciu bazy danych AdventureWorks i próbuję uzyskać dostęp do bazy danych, aby użytkownicy mogli zmieniać informacje o koncie. Użytkownicy witryny są konfigurowani za pomocą Menedżera konfiguracji ASP.NET, więc nie jestem pewien, jak to zrobić. Mam metodę GetCustomer Select skonfigurowaną do pobierania (w tym momencie) tylko imienia i nazwiska klientów w tabeli Person.Contact.Adventure Works Uzyskaj dostęp do informacji o kliencie

[DataObject(true)] 
public static class CustomerDB 
{ 
    [DataObjectMethod(DataObjectMethodType.Select)] 
    public static List<Customer> GetCustomer() 
    { 
    List<Customer> CustomerList = new List<Customer>(); 
    SqlConnection con = new SqlConnection(GetConnectionString()); 


    string sel = "SELECT Person.Contact.FirstName, Person.Contact.LastName " + 
    "FROM Person.Contact " + 
    "JOIN Sales.Individual ON Person.Contact.ContactID = Sales.Individual.ContactID " + 
    "JOIN Sales.Customer ON Sales.Individual.CustomerID = Sales.Customer.CustomerID " + 
    "WHERE Sales.Customer.CustomerType = Sales.Individual " + 
    "ORDER BY Person.Contact.LastName, Person.Contact.FirstName"; 

    SqlCommand cmd = new SqlCommand(sel, con); 
    con.Open(); 
    SqlDataReader rdr = 
    cmd.ExecuteReader(CommandBehavior.CloseConnection); 
    Customer customer; 
    while (rdr.Read()) 
    { 
     customer = new Customer(); 
     customer.FirstName = rdr["FirstName"].ToString(); 
     customer.LastName = rdr["FirstName"].ToString(); 
     CustomerList.Add(customer); 
    } 
    rdr.Close(); 
    return CustomerList; 
} 
private static string GetConnectionString() 
{ 
    return ConfigurationManager.ConnectionStrings 
    ["AdventureWorksString"].ConnectionString; 
} 

Ale ja dostaję błąd mówiąc: "Nieprawidłowa nazwa obiektu 'Person.Contact'" co sprawia, że ​​myślę, że to zapytanie jest problemem. Kwerenda, której używam, jest oparta na jednym z przykładowych scenariuszy na stronie Msdn. Jeśli ktoś mógłby wskazać mi właściwy kierunek, jeśli chodzi o tabele używane do uzyskania informacji o kliencie, aby użytkownik mógł zmienić adres i hasło, byłbym bardzo wdzięczny!

+0

Właśnie przywróciłem kopię zapasową bazy danych AdventureWorks. Nie ma tabeli "Person.Contact"! Brakuje również "Sales.Individual" – Irshad

+0

Sprawdź, czy baza danych zawiera tabele "Person.Contact" i "Sales.Individual". – Irshad

+0

Cóż, to z pewnością spowoduje pewne problemy. Będę musiał poszukać poprawnych tabel. –

Odpowiedz

0

To może załatwić sprawę.

string sel = "SELECT pc.FirstName, pc.LastName " + 
    "FROM Person.Contact pc " + 
    "JOIN Sales.Individual ON pc.ContactID = Sales.Individual.ContactID " + 
    "JOIN Sales.Customer ON Sales.Individual.CustomerID = Sales.Customer.CustomerID " + 
    "WHERE Sales.Customer.CustomerType = Sales.Individual " + 
    "ORDER BY pc.LastName, pc.FirstName"; 
0

Proszę sprawdzić istnienie tabelach Person.Contact i Sales.Individual na bazie AdventureWorks. Ponieważ ten błąd Invalid object name 'Person.Contact' wystąpi, gdy tabel lub podobnie brakuje w bazie danych.

Właśnie przywróciłem kopię zapasową bazy danych AdventureWorks. Nie ma tabeli Person.Contact! Sales.Individual także brakuje

Powiązane problemy