2015-12-14 7 views
5

मैं एडवेंचरवर्क्स डेटाबेस का उपयोग कर एक प्रोजेक्ट कर रहा हूं और मैं डेटाबेस तक पहुंचने की कोशिश कर रहा हूं ताकि उपयोगकर्ता अपनी खाता जानकारी बदल सकें। वेबसाइट के लिए उपयोगकर्ता एएसपी.NET कॉन्फ़िगरेशन मैनेजर का उपयोग करके सेट अप किए गए हैं, इसलिए मुझे सच में यकीन नहीं है कि इसके बारे में कैसे जाना है। मेरे पास व्यक्ति में ग्राहकों के पहले और अंतिम नाम को लाने के लिए एक GetCustomer चयन विधि स्थापित की गई है (तालिका पर) तालिका से संपर्क करें।एडवेंचर वर्क्स एक्सेस ग्राहक जानकारी

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

लेकिन मैं कह त्रुटि मिल रही है: "। अमान्य ऑब्जेक्ट नाम 'Person.Contact'" जो मुझे लगता है कि यह सवाल है कि समस्या है। मैं जिस क्वेरी का उपयोग कर रहा हूं वह एमएसडीएन वेबसाइट पर नमूना परिदृश्यों में से एक पर आधारित है। यदि कोई मुझे ग्राहक की जानकारी प्राप्त करने के लिए उपयोग करने के लिए कौन सी तालिकाओं का उपयोग करने के लिए सही दिशा में इंगित कर सकता है तो उपयोगकर्ता अपना पता और पासवर्ड बदल पाएगा, मैं बहुत आभारी हूं!

+0

मैंने अभी एडवेंचरवर्क्स डेटाबेस का बैकअप बहाल किया है। इसमें 'व्यक्ति नहीं है। संपर्क करें' तालिका नहीं है! 'बिक्री। व्यक्तिगत' गायब है – Irshad

+0

जांचें कि क्या आपके डेटाबेस में 'व्यक्ति। संपर्क करें' और 'बिक्री। व्यक्तिगत' तालिकाएं हैं। – Irshad

+0

अच्छा, यह निश्चित रूप से कुछ समस्याएं पैदा करेगा। मुझे सही टेबल की तलाश करनी होगी। –

उत्तर

0

यह आपके लिए चाल हो सकता है।

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

अपने AdventureWorks डेटाबेस पर तालिकाओं Person.Contact और Sales.Individual के अस्तित्व की जांच करें। चूंकि यह त्रुटि Invalid object name 'Person.Contact' तब होगी जब टेबल या डेटाबेस से गायब हो।

मैंने बस AdventureWorks डेटाबेस का बैकअप बहाल किया। इसमें Person.Contact तालिका नहीं है! Sales.Individual भी गायब है

संबंधित मुद्दे