0

私はNorthwind データベースを使用しており、 C# .Net Framework ウィンドウ フォームを作成して注文入力を生成したいと考えています。

データセット内のテーブルとバインディング ソースを既にリンクしており、バインディング ナビゲーターを使用してそれぞれを表示できるようにしました。

問題は、DB に null 値を挿入するという例外がスローされるため、注文の詳細を未作成の注文に追加する方法を見つけることができないことです。(オートインクリメントを使えば解決すると思っていたのですが、そうではありません)

皆さんは何か考えがありますか?

4

1 に答える 1

0

データセットで作成されたクエリを変更する必要があります。

データセット デザイナーを開き、テーブル アダプター (Fill,GetData() を読み取る行のすぐ上にある DataTable/TableAdapter ペアの下半分) を選択します。

右クリックして [プロパティ] を選択します。

プロパティ ペインに、SELECT、INSERT、UPDATE、DELETE のクエリが表示されます。

INSERT クエリでは、Identify フィールドを省略する必要があります。更新クエリでは、更新する元のレコードを検索し、クエリのセット部分から除外するために where 句で使用する必要があります。

提供する必要があるその他のフィールド (ただし、ユーザーによる入力は望まない) は、適切なデータ (GUID の場合は NEWID()、日時フィールドの場合は GETDATE() など) を使用して INSERT クエリに手動で入力できます。

計算されるフィールドは、挿入クエリと更新クエリの両方から除外する必要があります。

最後に、編集操作によって変更されないフィールドは、更新クエリの設定操作から除外できます。

于 2010-11-28T19:40:57.373 に答える