【发布时间】:2020-01-30 10:33:13
【问题描述】:
我有一个带有大约 10000 行的 stock 表的 SQL 数据库,我需要一个代码来复制所有行以更快地访问数据库文件 accdb。因为此代码将每天运行。
我下面的代码至少需要 5 分钟才能运行。
````````````````conn.Open();
SqlDataAdapter ada2 = new SqlDataAdapter("select ITEMCODE,DESCRIPTION,ONHAND,COSTEXCL,COSTINCL,PRICEEXCL,PRICEINCL,LASTSOLD,LASTRECEIVED from stmast", conn);
DataTable dt2 = new DataTable();
ada2.Fill(dt2);
for (int M = 0; M < dt2.Rows.Count; M++)
{
DataRow dr2 = dt2.Rows[M];
OleDbCommand cmd2 = new OleDbCommand("INSERT INTO stmast(ITEMCODE,DESCRIPTION,ONHAND,COSTEXCL,COSTINCL,PRICEEXCL,PRICEincl,LASTSOLD,LASTRECEIVED)" + " VALUES('" + dr2["itemcode"].ToString() + "','" + dr2["description"].ToString() + "','" + dr2["onhand"].ToString() + "','" + dr2["costexcl"].ToString() + "','" + dr2["costincl"].ToString() + "','" + dr2["priceexcl"].ToString() + "','" + dr2["priceincl"].ToString() + "','" + dr2["lastsold"].ToString() + "','" + dr2["lastreceived"].ToString() + "');", objConn3);
cmd2.ExecuteNonQuery();
}
MessageBox.Show("done"); ```
【问题讨论】:
-
不知道这是否对您可用,但使用 DAO 和
RecordSet.AddNew这将在几秒钟(或几毫秒)内运行。 -
复制的目的?你知道你可以链接 sql server 表来访问和使用实时数据吗?