-2

組織の軍事サイトを作成しています。サイトの一部は、ニュース/ブログ ウォールになります。

ニュースは、単純な記事と、記事のライターが何を選択しているかに応じて、その記事のいくつかの写真で構成されます。

私のデータベースでは、ニュース用と写真用の 2 つのテーブルを作成しました。これらを接続すると、画像テーブルは画像全体ではなく、画像の URL のみで構成されます。

問題は次のとおりです。

記事に接続されている写真が 1 つしかない場合はすべて正常に機能しますが、複数の写真を取得すると、各写真に対して複数の行が表示されますが、記事は同じです。

これにより、次の問題が発生します。私の ASP.NET ListView は新しい記事であり、記事ごとに 1 つの画像と同じ記事テキストをレンダリングします >.<

私は大学の先生に助けを求めてきましたが、彼らは他の講義で忙しいようです.

また、ListView で複数の画像をレンダリングする方法も知りたいのですが、コード ビハインドで foreach を使用して、より多くのイメージ タグを取得する必要があると思いますが、どうすればよいでしょうか?

私のSQLクエリのこの写真が役に立ったら投稿します.2行目と3行目を見てください.

ALTER PROCEDURE [dbo].[GetLatestNews] AS 
BEGIN 
   SELECT News.NyhetID, News.Rubrik, News.Nyhet, News.Datum, Picture.Picture 
   FROM Picture
   RIGHT OUTER JOIN News as News ON News.NyhetID = Picture.NyhetID 
   ORDER BY News.NyhetID DESC 
END

事前に感謝します。私は初心者のプログラマーであることを覚えておいてください。これはおそらく非常に簡単ですか? それほど難しいことではないので、私はこれについて本当に引き裂かれています。

4

2 に答える 2

0

2 つのクエリを使用します。1 つは news テーブルからのすべてのデータで埋め、もう 1 つは pictures テーブルからのデータで埋めます。

ページ読み込みイベントで、2 つのプライベート インスタンス変数に、これら両方のテーブルのデータを入力します。

ASPX ページで、ニュース項目用の親ビューと画像用の子ビューの 2 つのリスト ビューを作成します。ニュース リストビューの "Item_DataBound" イベントで、FindControl を使用して、画像データ ソースから子リストビューとデータ項目を検索します。次に、子リストビューを画像データのサブセットにバインドします。これは、LINQ を使用して行うことができます。

于 2012-04-22T20:14:30.013 に答える
0

記事ごとに 1 つの写真のみを制限する意図された動作ですか? つまり、News と Picture の関係は 1 対多で、News には 1 つの Picture が含まれる場合がありますが、Picture は複数の News に属する可能性があります。

テーブル構造が逆になっている可能性があると思います。理想的には、2 つのテーブルは次のようになります。

NEWS
----
NewsID
NewsContent
PictureID

PICTURE
-------
PictureID
PictureURL

このように、ニュース記事には 1 つの画像のみを含めることができますが、画像は複数のニュース記事で参照できます。

于 2012-04-22T20:41:36.340 に答える