从数据集大容量插入访问
本文关键字:访问 插入 大容量 数据集 | 更新日期: 2023-09-27 18:00:20
我一直在遵循批量插入但是,我在处收到无效参数的异常访问记录集。Update()或rs。Update()
它需要两个参数Int UpdateType和bool Force
public void BulkExportToAccess(DataTable dtOutData, String DBPath, String TableNm)
{
DAO.DBEngine dbEngine = new DAO.DBEngine();
Boolean CheckFl = false;
try
{
DAO.Database db = dbEngine.OpenDatabase(DBPath);
DAO.Recordset AccesssRecordset = db.OpenRecordset(TableNm);
DAO.Field[] AccesssFields = new DAO.Field[dtOutData.Rows.Count];
//Loop on each row of dtOutData
for (Int32 rowCounter = 0; rowCounter < dtOutData.Rows.Count; rowCounter++)
{
AccesssRecordset.AddNew();
//Loop on column
for (Int32 colCounter = 0; colCounter < dtOutData.Columns.Count; colCounter++)
{
// for the first time... setup the field name.
if (!CheckFl)
AccesssFields[colCounter] =
AccesssRecordset.Fields[dtOutData.Columns[colCounter].ColumnName];
AccesssFields[colCounter].Value = dtOutData.Rows[rowCounter][colCounter];
}
AccesssRecordset.Update();
CheckFl = true;
}
AccesssRecordset.Close();
db.Close();
}
finally
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(dbEngine);
dbEngine = null;
}
}
有人能帮助吗
感谢
好的,所以OpenRecordset
创建了一个Recordset
对象。它要查找的UpdateType
来自UpdateTypeEnum
;你可以发送一个1。就Force
而言,我认为在您的情况下,您可能希望发送true
。这意味着,如果有其他人更新了其中一条记录,他们的更改将不会被考虑,而且可能会丢失,因为您的更新将被强制执行