4

私の問題に対する答えがウェブ上のどこにも見つからないので、あなたの助けが必要です.

私は C# を使用しており、「People」というテーブルがあり、TableAdapter を使用してそのテーブルを追加/削除/形成したいと考えています。「Microsoft SQL Server Compact 4.0 (.NET Framework Data Provider for Microsoft SQL Server Compact 4.0)」データ ソースとして、sdf ファイルをデータベースとして使用しています。

私のコードは次のようになります。

* peopleTableAdapter.Insert(0, byte.Parse(cbAddType.SelectedIndex.ToString()), txtAddName.Text, txtAddCompany.Text, txtAddPhone.Text, txtAddMobile.Text, txtAddEmail.Text, txtAddAddress.Text, txtAddNotes.Text); peopleTableAdapter.Update(this.hisabati_DBDataSet.People);*

テーブルには、次の自動インクリメント フィールドである「ID」と呼ばれるフィールドが含まれています。

属性: Null を許可: いいえ 一意: はい PK: いいえ

Insert メソッドの最初のパラメーターは ID を要求しています。値を入力しないと、値が必要であるというコンパイル エラーが発生します。値を入力すると (上記で 0 を入力しているため)、次のエラーが表示されます: Err Msg: Cannot modified that column Err HRESULT: -2​​147467259

Command.ExecuteNonQuery メソッドを使用して挿入する方法は知っていますが、コードを記述して維持するためのよりエレガントな方法のように見えるため、アプリケーション全体で TableAdapters を使用しようとしています...何かアドバイスはありますか? どうもありがとう

4

2 に答える 2

1

テーブル アダプタの InsertCommand と UpdateCommand を変更する必要があります。これらのコマンドの設定部分から自動インクリメント列の名前と値を削除します。

于 2014-10-13T18:25:23.573 に答える
0

そのメソッドを具体的に使用する代わりに、People Dataset を介して新しい行を作成し、TableAdapter を使用してそれから更新します。

于 2012-12-30T00:04:32.913 に答える