0

リレーションシップを持つ SQL Server テーブルが 3 つ以上あります。しかし、ラベルに 2 つの列を表示したい場合、エラーが発生します。Aurthorname表示したいのですがCatagoryname、本のIDが次の場所と同じtextbox.textです:

SqlConnection con = new SqlConnection("Data Source=SWEETHOME\\SQLEXPRESS;Integrated Security=True");
con.Open();
SqlCommand coo = new SqlCommand("Select Book.BookId , Book.Booktitle, "+ 
                         "Aurthor.Aurthorname, Catagory.Catagoryname, Status.Status, "+
                         "Book.IssuingDate, Book.ReceivingDate, Book.Issuedby " + 
                         "From  Aurthor INNER JOIN Book ON Aurthor.Aurthorid = Book.Aurthorid "+
                         "INNER JOIN Catagory ON Book.Catagoryid = Catagory.Catagoryid INNER " +
                         "JOIN Status ON Book.Statusid = Status.Statusid Where Book.Bookid = '" +
                         textBox2.Text + "'", con);
SqlDataReader koo = coo.ExecuteReader();

while (koo.Read())
{
    label20.Text = koo["Aurthor.Aurthorname"].ToString();
    label21.Text = koo["Catagoryname.Catagory"].ToString();
}

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

5

列名の前にテーブル名を付ける必要はありません。使うだけ

label20.Text = koo["Aurthorname"].ToString();
label21.Text = koo["CatagoryName"].ToString();

ちなみに、「カテゴリ」フィールドの列名でテーブル名を切り替えました

于 2013-02-24T13:19:33.140 に答える