【发布时间】:2016-03-19 12:08:42
【问题描述】:
我正在使用 AdventureWorks 数据库做一个项目,我正在尝试访问该数据库,以便用户可以更改他们的帐户信息。该网站的用户是使用 ASP.NET 配置管理器设置的,所以我不确定如何去做。我设置了一个 GetCustomer Select 方法来获取(此时) Person.Contact 表中客户的名字和姓氏。
[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 网站上的示例场景之一。 如果有人能指出我使用哪些表格来获取客户信息的正确方向,以便用户能够更改他们的地址和密码,我将非常感激!
【问题讨论】:
-
我刚刚恢复了 AdventureWorks 数据库的备份。它没有
Person.Contact表!Sales.Individual也不见了 -
检查你的数据库是否有
Person.Contact和Sales.Individual表。 -
好吧,那肯定会引起一些问题。我必须寻找正确的表格。
-
我想知道,使用配置管理器创建的用户信息是存储在该数据库中还是存储在 asp.net 创建的另一个数据库中?
标签: c# asp.net sql-server-2008 configurationmanager