2015-12-14 14 views
5

Tôi đang thực hiện một dự án bằng cách sử dụng cơ sở dữ liệu AdventureWorks và tôi đang cố truy cập cơ sở dữ liệu để người dùng có thể thay đổi thông tin tài khoản của họ. Người dùng cho trang web được thiết lập bằng cách sử dụng Trình quản lý cấu hình ASP.NET, vì vậy tôi không thực sự chắc chắn làm thế nào để đi về nó. Tôi có một phương thức GetCustomer Select được thiết lập để tìm nạp (tại thời điểm này) chỉ là họ và tên của khách hàng trong bảng Person.Contact.Adventure Works Truy cập thông tin khách hàng

[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; 
} 

Nhưng tôi nhận được thông báo lỗi: "Tên đối tượng không hợp lệ 'Person.Contact'." điều đó khiến tôi nghĩ đó là truy vấn đó là vấn đề. Truy vấn tôi đang sử dụng dựa trên một trong các kịch bản mẫu trên trang web Msdn. Nếu ai đó có thể chỉ cho tôi đúng hướng về việc sử dụng bảng nào để nhận thông tin khách hàng để người dùng có thể thay đổi địa chỉ và mật khẩu của họ, tôi sẽ rất biết ơn!

+0

Tôi vừa khôi phục bản sao lưu cơ sở dữ liệu AdventureWorks. Nó không có bảng 'Person.Contact'! 'Sales.Individual' cũng bị thiếu quá – Irshad

+0

Kiểm tra xem cơ sở dữ liệu của bạn có bảng' Person.Contact' và 'Sales.Individual' hay không. – Irshad

+0

Vâng, điều đó chắc chắn sẽ gây ra một số vấn đề. Tôi sẽ phải tìm các bảng chính xác. –

Trả lời

0

Điều này có thể giúp bạn.

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

Vui lòng kiểm tra sự tồn tại của các bảng Person.ContactSales.Individual trên cơ sở dữ liệu AdventureWorks của bạn. Vì lỗi này Invalid object name 'Person.Contact' sẽ xảy ra khi các bảng hoặc thiếu tương tự từ cơ sở dữ liệu.

Tôi vừa khôi phục bản sao lưu cơ sở dữ liệu AdventureWorks. Nó không có bảng Person.Contact! Sales.Individual cũng thiếu

Các vấn đề liên quan