私はAdventureWorksデータベースを使用してプロジェクトを行っていますが、ユーザーがアカウント情報を変更できるようにデータベースにアクセスしようとしています。 Webサイトのユーザーは、ASP.NET構成マネージャーを使用して設定されているため、実際にどのように作業するかはわかりません。私はGetCustomer Selectメソッドを設定して、Person.Contactテーブル内の顧客の姓と名だけを(この時点で)取得します。Adventure Worksユーザー情報へのアクセス
[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 Webサイトのサンプルシナリオの1つに基づいています。 ユーザーが自分のアドレスとパスワードを変更できるように顧客情報を取得するために使用するテーブルに関して、誰かが正しい方向に向けることができれば、非常に感謝しています。
AdventureWorksデータベースのバックアップを復元しました。 'Person.Contact'テーブルはありません! 'Sales.Individual'も欠けています – Irshad
データベースに' Person.Contact'と 'Sales.Individual'テーブルがあるかどうかを確認してください。 – Irshad
まあ、それは間違いなくいくつかの問題を引き起こすでしょう。私は正しい表を探す必要があります。 –