数か月までに、Sql Server + C# を使用してアプリケーションを作成しようとしていました。このプログラムは一種の「ポケモン アジェンダ」であり、ユーザーはポケモンとその能力、タイプ、写真を追加および編集できるだけでなく、レコードの検索などの他の機能も利用できます。フォームとテーブル ダイアグラムの印刷画面を次に示します。
ここに私の問題があります:テーブル「Kanto」のID(AbilityIDとTypeID)のみを使用して、テーブル「Abilities」と「Types」の名前に直接アクセスしようとしていました。つまり、基本的には 1 つのテーブルだけを使用して、さまざまなテーブルから多くのデータにアクセスしようとしていました。ただし、これが正確に可能かどうかはわかりません。私は2つの可能性を考えました:
Dataset リレーションを使用します (ただし、この解決策はまだ私にはあまり明確ではありません)。たとえば、次のようになります。
ds.Relations.Add("ポケモンの能力", ds.Tables["能力"].Columns["能力ID"], ds.Tables["関東"].Columns["能力ID"]);
Natural Joinを使用して、さらにテーブルを作成し、それらを使用して目的のデータを操作することができました。
注: 表の「タイプ」と「能力」には、必要な情報がすべて入力されているはずなので、フォームの実行中に編集されることはありません。
少し長いので全文は載せませんが、特定の部分だけ見たい方はお申し付けください。