問題タブ [datarelation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
14271 参照

ado.net - 方法: DataRelation を使用して、DataSet 内の 2 つの DataTable で結合を実行しますか?

データセット内の 2 つの DataTable 間で結合を実行するにはどうすればよいですか?

2 つのテーブル間に DataRelation を作成しました。

テーブルから結果テーブルに行をコピーする方法 ( http://www.emmet-gray.com/Articles/DataTableJoins.htm )の説明を見ていますか?

これを行うより良い方法はありますか?

0 投票する
3 に答える
2354 参照

c# - LINQ は DataRelations を使用して結合を最適化しますか?

これに対する答えはどこにも見つかりません。Reflector を使用して生成されたコードを調べ始める前に、次の質問をする価値があると思いました。

DataSet 内の DataTable に対して次の LINQ クエリを実行するとします。

示されているキー フィールドを使用する親テーブルと子テーブルの間に DataRelation がある場合、LINQ はそれを使用しますか? つまり、値が「foo」である親テーブルの行を見つけてGetChildRows、子行を射影するために呼び出しますか?

または、これは明示的に指定する必要があるものですか? (もしそうなら、どうすればいいですか?)

0 投票する
0 に答える
21005 参照

c# - C#のタイプ文字列からの関係を持つマスター/詳細データグリッドビュー

C#で2つのdatagridviewsとDataRelationを使用してマスター/詳細の関係を表示したいと思います。

マスターと詳細テーブルの関係は、文字列型からのIDです(IDを整数型に変更する機会はありません)。

マスターテーブルの行を変更すると、DataGridViewが詳細ビューを更新できないようです。

文字列IDを使用してマスター/詳細ビューを実現できるかどうか、また可能である場合はどのように実現できるかを誰かが知っていますか?または、他社の外部DataGridを使用する必要がありますか?


アップデート

個人的には、整数の代わりに文字列を使用しても違いはわかりません。私が考えることができる唯一のことは、グリッドが文字列ID関係を使用してマスター詳細ビューを処理できないことです。

次に例を示します。新しいVS2008プロジェクトを作成し、コードをコピーしてください。接続文字列とデータ関係を変更します。

0 投票する
1 に答える
5192 参照

c# - C#の文字列型からの関係を持つマスター/詳細データグリッドビュー

C# で 2 つの datagridviews と DataRelation を使用して、マスター/詳細の関係を表示したいと考えています。

マスター テーブルとディテール テーブルの間の関係は、文字列型の ID です (ID を整数型に変更する機会はありません)。

マスターテーブルの行を変更するときに、DataGridView が詳細ビューを更新できないようです。

文字列 ID を使用してマスター/詳細ビューを実現できるかどうかを知っている人はいますか? または、別の会社の外部 DataGrid を使用する必要がありますか?

個人的には、整数の代わりに文字列を使用することに違いはありません。私が考えることができる唯一のことは、グリッドが文字列 ID リレーションを使用してマスター詳細ビューを処理できないということです。

更新: 問題は解決されました。問題は、1 つの関係が nchar 型からのもので、文字列の末尾に空白があることでした。助けてくれてありがとう!

以下に例を示します。新しい VS 2008 プロジェクトを作成し、コードをコピーしてください。接続文字列とデータ関係を変更します。

0 投票する
1 に答える
1110 参照

.net - 単一のクエリからの DataRelation

私は次のVB.NETコードを持っています:

基本的に、私は 2 つのクエリを実行します。1 つ目はすべてのユーザーを取得し、2 つ目はすべてのメッセージを取得します。DataSet 内に 2 つのテーブルを定義し、DataRelation を介してそれらをリンクして、Users テーブルが Messages テーブルの親になるようにします。

これは、2 つのテーブルからすべての行を選択したい場合に機能しますが、4 つのネストされたテーブルと条件付きクエリを含むより複雑な構造の場合はどうなるでしょうか?

この 1 つのクエリから 4 つのテーブルと 3 つの DataRelations を持つ DataSet を作成するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
3187 参照

c# - DataRelationステータスを表示するためにDataGridViewCheckBoxColumnを取得するにはどうすればよいですか?

強い型( ChildDataTable)を表示しているDataGridView(dataGridViewという名前)があるとします。DataTable

dataGridViewには、ChildDataTableの各ChildDataRowのフィールドプロパティParentIDにバインドされた parentIDColumnという名前の)DataGridViewCheckBoxColumnあります

ParentIDは、ChildDataTableを(作成的に名前が付けられたParentDataTableDataTable )内の別のキーに関連付ける外部キーです。この場合、子には親が1人しかいない可能性があります。ParentID(および関連するParentDataTable.ID)フィールドのタイプはです。DataSetGuid

ChildDataTable.ParentIDはnullを許可します。null値は、子がどの親からも「切断」されていることを表します。これをdataGridViewに、チェックCheckBoxされていない列parentIDColumn(わかりやすくするために「HasParent」というラベルが付いています)として表示します。

等式および比較操作を実装するカスタムタイプを作成して、 parentIDColumnTrueValueのプロパティとFalseValueプロパティを操作してみました。

...そして、それらをparentIDColumnのTrue / False値として設定します:

しかし、デバッガーがブレークポイントに到達することはなく、ボートに乗り遅れたことを示しています。dataGridViewの表示時に次のエラーが発生します。

だから私は私のカスタマイズが達成されていないことを知っています。フォーマット呼び出しは(列ではなく)セルレベルで発生するように見えるので、私が見逃していたより良い/別の方法があるかどうかはわかりませんでした。

チェックボックス列にTrue/Falseロジックを挿入して、チェックされている場合は外部キーがnullでないことを意味し、チェックされていない場合はnullでないことを意味するようにするにはどうすればよいですか?

0 投票する
4 に答える
3373 参照

c# - DataSetのDataRelationの目的は何ですか?

私が取り組んでいるAC#プログラムは、データを1つ以上のデータテーブルにエクスポートする必要があります。これらのテーブルの一部の列は相互に関連しているため、あるテーブルのID列は別のテーブルのセルによって参照される場合があります。これは、DataRelationを設定するための一般的なケースのようです。しかし、私はこれらの関係が実際に後でどのように使用されるかを理解しようとしています。

リレーショナルデータベースの経験は少しありますが、あまり経験はありません。私はSQLクエリと、左結合、右結合などのようなものを理解しています。また、GUIと手動の両方でクエリを作成するAccessでいくつかの作業を行いました。しかし、データベース自体に関係を作成したことはありません。私はこれを1分前にAccessで試しました。関係を作成した後、2つのテストテーブルをクエリに追加しようとすると、結合が自動的に作成されました。

ただし、実際に実際のSQLを見ると、実際には、関係から派生したJOINコマンドが含まれていました。しかし、それはまた、クエリが関係にまったく依存していなかったことを意味します。Accessのようなドラッグアンドドロップタイプのクエリエディタがないデータベースで、リレーションシップはどのように使用されますか?

データベースにリレーションシップを作成したい、またはDataSetにDataRelationを作成したい唯一の理由は、どのようなリレーションシップが存在する必要があるかを暗示できるようにするためですが、必ずしもそれらを強制する必要はありませんか?

0 投票する
1 に答える
4051 参照

c# - DataGridView に DataRelation を表示する方法

5 そして、それぞれに対して単一のクエリを使用して「複数のエンティティの状況」を解決しようとし、それらを DataRelation で結合したので、この方法でデータを表示しようとしたことに気付いた後:

しかし、各クエリ結果が異なる DataTable にあり、同じ DataSet にあるため、成功しません。「結合された結果」を表示するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
618 参照

ado.net - リレーションシップが個別に格納されている、親 ITEM テーブル行の子である ITEM テーブルからすべての行を取得するにはどうすればよいですか?

リレーションシップが個別に格納されている、親 ITEM テーブル行の子である ITEM テーブルからすべての行を取得するにはどうすればよいですか? これを行うにはどうすれば結合できますか? 「この特定の ITEM テーブル行の子である ITEM テーブルからすべての行を取得し、この親アイテムからすべての子アイテムを取得します。関係は別の RELATIONSHIP テーブルに格納されます」

そのため、ITEMS テーブルと RELATIONSHIPS テーブルがあるとします。主な列は次のとおりです。

DataSet / DataRelation アプローチが何らかの方法でこれらの関係をマッピングできるかどうかを理解しようとしています。たとえば、基本的に「RELATIONSHIPS テーブルに基づいて、親 ITEM DataRow を指定して、DataRow[] フォーム内のすべての子 ITEM を提供する」という要求を実装する方法が必要な場合、DataRelation を使用してこれを行う方法はありますか? そうでない場合、DataSet アプローチを使用してこれを行う最も簡単な方法は何でしょうか?

編集: つまり、DataSet を使用しており、DataSet 内に、上記で説明した物理データベース テーブルごとに 1 つの DataTable があると仮定します。

ありがとう