我正在尝试使用C#从sql表插入数据以访问数据库。在access数据库中插入操作花费了太多时间。它运行了将近一个小时。有谁能提出任何优化代码的方法吗
下面是我将数据插入Access数据库的代码
using (OleDbConnection connection = new OleDbConnection(_configuration.GetConnectionString("AccessConnection")))
{
using (OleDbCommand cmd = new OleDbCommand("INSERT INTO RecsCD(RecordingDate, Gr,Grant,DocType, DocNumber,UserDocNumber,NumOfPages) values (?, ?, ?, ?, ?, ?, ?)", connection))
{
connection.Open();
foreach (var records in recList)
{
cmd.Parameters.Add("@RecordingDate", OleDbType.VarChar).Value = records.RecordingDate == null ? "" : records.RecordingDate;
cmd.Parameters.Add("GR", OleDbType.VarChar).Value = records.Grantor == null ? "": records.Gr;
cmd.Parameters.Add("Grant", OleDbType.VarChar).Value = records.Grantee == null? "": records.Grant;
cmd.Parameters.Add("DocType", OleDbType.VarChar).Value = records.DocType == null ? "" : records.DocType; ;
cmd.Parameters.Add("DocNumber", OleDbType.VarChar).Value = records.DocNumber == null ? "" : records.DocNumber; ;
cmd.Parameters.Add("UserDocNumber", OleDbType.VarChar).Value = records.InternalDocNumber == null ? "" : records.InternalDocNumber; ;
cmd.Parameters.Add("NumOfPages", OleDbType.VarChar).Value = records.NumberPages == null ? "" : records.NumberPages; ;
cmd.ExecuteNonQuery();
}
}
我用来插入数据的查询只是一个选择查询:
更改过程重新加载
作为
SELECT
[RecLoadId]
,[DocNumber]
,[InternalDocNumber]
,[RecordingDate]
,[DocType]
,[DocDescription]
,[Gr]
,[Grant]
,[NumberPages]
,[SourceCode]
,[Parcel_No]
FROM [db_recload].[dbo].[RecLoadSplit]
公共列表getPrimeData()
{
return _context.RecLoad
.FromSql("EXECUTE RecLoad_GetPrimeparsedData").ToList();
}
表中共有6843行