我正在尝试将现有的 Access 数据库文件 (template.mdb) 作为新文件的模板。我想删除一些表的行(但保留其他表)。我通过 Visual Studio 2010 生成的 TableAdapters(通过添加项目 -> 数据 -> 数据集)“访问”表。
在尝试删除一些现有表的内容并重置自动增量计数器时,我无法完成第二个任务。我正在尝试通过
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>
// ... 此行将无法正确导入- 将此数据添加到“新”数据库