首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adventure Access客户信息

Adventure Access客户信息
EN

Stack Overflow用户
提问于 2015-12-14 12:28:06
回答 3查看 750关注 0票数 7

我正在做一个使用AdventureWorks数据库的项目,我正在尝试访问该数据库,以便用户可以更改他们的帐户信息。网站的用户是使用ASP.NET配置管理器设置的,所以我真的不知道该怎么做。我设置了一个GetCustomer选择方法来获取(此时) Person.Contact表中客户的名字和姓氏。

代码语言:javascript
复制
[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’。”这让我觉得问题出在查询上。我使用的查询基于Msdn网站上的一个示例方案。如果有人能告诉我应该使用哪些表来获取客户信息,以便用户能够更改他们的地址和密码,我将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2019-03-21 15:50:01

我通过以下步骤找到了Person.Contact和Sales.Individual表。希望这能有所帮助。

  1. https://archive.codeplex.com/?p=msftdbprodsamples.
  2. Unzip此子文件夹\sourceCode\sourceCode.zip\Katmai_October2009_Refresh3\AdventureWorks OLTP下载MSFTDBProdSamples.zip。
  3. 以SQLCMD模式从SQL Server Management Studio打开instawdb.sql。
  4. 确保相应地更改这些行。

:setvar SqlSamplesDatabasePath "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\“

:setvar SqlSamplesSourceDataPath "C:\Temp\“--将AdventureWorks OLTP子文件夹复制到此处

  1. 单击Execute。
票数 2
EN

Stack Overflow用户

发布于 2015-12-14 13:23:21

请检查您的AdventureWorks数据库上是否存在表Person.ContactSales.Individual。因为当数据库中缺少tables或类似情况时,将出现此错误Invalid object name 'Person.Contact'

我刚刚恢复了AdventureWorks数据库的备份。它没有Person.Contact表!Sales.Individual也丢失了

票数 1
EN

Stack Overflow用户

发布于 2015-12-14 12:47:43

这可能对你有用。

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34259787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档