既存の Access データベース ファイル (template.mdb) を新しいファイルのテンプレートとして使用しようとしています。一部のテーブルの行を削除したい (ただし、他のテーブルは保持する)。Visual Studio 2010 によって生成された TableAdapters を介してテーブルに「アクセス」します (項目の追加 -> データ -> DataSet を介して)。
既存のテーブルの内容の一部を削除して自動インクリメント カウンターをリセットしようとしているときに、2 番目のタスクを実行できません。私はこれをやろうとしています
var adapter = new MyTableTableAdapter();
var targetTable = adapter.GetData();
// mark each row for deletion
foreach (DataRow row in targetTable.Rows)
row.Delete();
//ここで次のシーケンスを見つけました。
targetTable.IDProductColumn.AutoIncrement = true;
targetTable.IDProductColumn.AutoIncrementSeed = 0;
targetTable.IDProductColumn.AutoIncrementStep = -1;
targetTable.IDProductColumn.AutoIncrementSeed = -1;
// apply the changes
adapter.Update(targetTable);
これは確かに既存の行を削除しますが、自動インクリメントはリセットしません。
これはどのように達成できますか?
編集:今すぐワークフローを完了してください
- 寺院の mdb ファイルをコピーします。
- コピーしたファイルへの接続を確立する
- 一部のテーブルのすべての行を削除しようとしますが、すべてではありません
次のような参照を含む外部 xml ファイルから新しいデータを読み取ります。
<tableARow><id>1</id></tableARow>
// この行が id の場合 <> 1 ...<tableBRow><idRefTableARow>1</idRefTableARow></tableBRow>
// ... この行は正しくインポートされません- このデータを「新しい」データベースに追加します