問題タブ [system.data.datatable]
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.
c# - IDデータ列をXMLからデータテーブルに追加しようとすると、「ネストされたリレーションを追加できません」というエラーが発生しますか?
データ列をデータテーブルに追加しようとすると、次のエラーが発生します:ネストされたリレーションまたは要素列を、SimpleContent 列を含むテーブルに追加できません。これは、このコードを初めてヒットしたときに発生しますmt.Columns.Add("IdentityId", typeof(int));
奇妙なことは、前のエラーの後にデバッガーでデータテーブルを表示すると、列がそこにあることです。続行するには、次のエラーが表示されます。「IdentityId」という名前の列は、既にこの DataTable に属しています。それを追加したようで、エラーが発生します。
コードは次のとおりです。
データテーブルが XML に由来するという事実と関係があることはわかっています。私が見つけたいくつかの解決策は、データテーブルよりも xml を扱っています。XML は変更できません。
c# - グリッドビューをバインドする C# Windows アプリケーション
私のアプリケーションには、2 つのデータテーブルがあります。1 つは NameTable (Id,Name) で、もう 1 つは FriendsTable (NameId,Name) です。FriendsTable の NameId は NameTable の ID です。私のアプリケーションでは、次のようにグリッドビューにデータを表示したいと考えています。したがって、gridview には 3 つの列が含まれている必要があります。2 つは NameTable 列を表示し、3 つ目はカウントです。datagridview の行をダブルクリックすると、アプリケーションは別のウィンドウを開いて、テーブル内のすべての友人を表示する必要があります。カウント列を表示する最初の部分で立ち往生しています。助けてください。前もって感謝します。
c# - 遅延バインディングライブラリのデータを使用して、動的linqクエリから結果をデータテーブルに取得する方法は?
レポートを自動的に生成するライブラリに取り組んでいます。レポートは詳細にはわかりませんが、レポートが呼び出される方法は Oracle データベースで設定されます。各レポートには独自のクラスがあります。各クラスには、DataTable を返すデータベース クエリがあります。
レポート生成プロセスはうまく機能しますが、レポートごとにレポート インデックス ファイルを作成する必要があります。構成はデータベースにもあり、次の形式になっています。
REPORT_ID / QUERY / ELEMENT_NAME
レポートごとに構成が異なるため、データテーブルの内容を動的に照会する必要があります。そのとき、ScottGu のブログとHelp with Dynamic Linq Queryの情報を見て、必要な場所にたどり着きました。必要に応じてコードを少し変更しましたが、これが私が持っているものです。
コードでは、m_DataSource はクラスで DataTable として定義されており、最終結果が含まれている必要があります。
これは、Microsoft の System.Linq.Dynamic クラスからの抜粋です。
私のコードは、クエリオブジェクトの要素を見つけようとするたびに、「指定されたキャストは無効です」というエラーで、この部分で失敗します。
次のことを知っているので、これに対する解決策が必要です。
- Framework 3.5 で作業する必要があります (これを変更する機会はありません)。
- レポート クラスは遅延バインディングによって呼び出されるため、すべての呼び出しは動的であり、使用する集計を事前に知ることはできません (構成はレポートごとに変更されます)。
- サードパーティ ライブラリの数を制限する必要があります。外部からの影響を受けずにコード内ですべてを実行できるのであれば、それは良いことです。
- データはレポート クラスから取得されるため、集計を使用してセカンダリ クエリを生成するためのデータベースへのアクセス権がありません。
データテーブルに必要な値を取得するために何が欠けていますか? そもそも元の例に欠陥があり、必要なデータ行を列挙できるキャストが見つからないのでしょうか?
c# - すべての行でデフォルト値を使用せずに、単一の行で DataColumn 式の例外を処理するにはどうすればよいですか?
DataColumns の Expression プロパティを使用して、DataTable を使用してデータ行の計算を実行しようとしています。msdn
行に式を適用しているときに例外が発生した場合、デフォルト値が使用されることがわかりました。それはまさに、問題のある行に私が望むものです。問題は、後続の各行が式を評価する代わりにデフォルト値を使用することです。
この例では、2 つの列と 10 行で構成されるベース テーブルから始めます。最初の列は、-5 から 5 の範囲で自動インクリメントされる列です。2 番目の列は常に 3 です。
「3」列を最初の列で割る式で 3 番目の列を追加します。これにより、1 つの行に対して div0 例外が発生します。
その 1 行については、指定したデフォルト値を使用したいと考えています。ただし、残りの 4 行にもデフォルト値が適用されます。
出力:
個々の行に問題がある場合にデフォルト値を使用し、後続の行に引き続き式を使用するように処理を追加するにはどうすればよいですか?
ここで説明されているように IIF を単純に使用してこのような問題をチェックすることはできないことに注意してください。使用される式は動的であり、データをカスタマイズする方法としてユーザーから提供されるためです。
これを再現する完全なコード:
c# - 正しい出力を与えるための適切なループ制御構造は何ですか?
講師の詳細パネルの詳細とホールの空き状況の詳細を保持するために、3 つの DataTable を使用したスケジューリング アルゴリズムを準備しようとしています。for ループを使用して DataTable にアクセスしています。for ループ制御構造は、この状況で正しい出力を得るのに役立たないことがわかりました
テーブルを作成するための私のSQLステートメントは次のとおりです
C# コードでは、3 つの DataTable を作成し、for ループを使用して、講義の利用可能な日時とホールの利用可能な日時を一致させ、検証済みのレコードをスケジュール テーブルに挿入します。パネルテーブルは講師の講義IDを保持します
これが私のアルゴリズムです。ここでは、date1 と time1 のみについて検討します
これが私の出力の仕方です