私の問題に対する有用な答えが見つからなかったので、ここで運試ししてください。C# Ado.Net データセットを使用して、MSAccess mdb ファイルのテーブルにレコードを追加しようとしています。外部キーで参照される別のテーブルに新しい行を追加しようとするまで、すべてうまくいきます。前の新しい行でデータテーブルを更新した後、オブジェクト行にはデフォルトの '-1' id-value がまだあり、外部キーのために新しい行を追加できないため、これは計画どおりに機能しません。列が MSaccess の auto-increment/identity-variant-type であるため、id-value を更新する必要があります。
これを別の言語で書いたので、一般的な名前を使用しました...
public void addObject(Object o)
{
ds.objects.Clear(); //clear datatable where ds is reference to dataset
Data.DBManagerDataSet.objectRow row = ds.objects.NewobjectRow();
FillRowWithVariables(row, o); //fill row with some random variables
ds.objects.Rows.Add(rij);
taObjects.Update(ds.objects); //tell tableadapter to update objects
Object2 p = AddObjectWithSomeRandomVariables(o.RandomVariable);
Data.DBManagerDataSet.object_otherobjectRow linkrow = ds.object_otherobject.Newobject_otherobjectRow(); //new row to reference the other one
linkrow.object_id = row.object_id;
linkrow.otherobject = p.Id;
ds.object_otherobject.Rows.Add(linkrow);
taobject_otherobject.Update(ds.object_otherobject);
}
手助け?