ADO.net速度慢的问题

windyyang windyyang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我这里还有一个问题想请教你大家:
经我们测试,发现ADO.Net的写入速度为什么比ADO的写入速度忙了7倍?但我们不知道ADO.net花费在那个环节呢?不知道如何提高速度。
ADO.net的测试程序在下面,ADO也是使用循环,而且方法也是非常笨的。
代码:
private void button1_Click(object sender, System.EventArgs e)
{
OleDbCommand cmdInsertGoods;
OleDbParameterCollection pars;
OleDbConnection conn;
DataSet Goods;
DataTable goods;

conn = new OleDbConnection(textBox1.Text);
conn.Open();

//初始化插入Goods的命令
cmdInsertGoods = new OleDbCommand(@"INSERT INTO Goods2
(fstrComputer, fstrOperator, fdtmOpTime, fstrGoodsID, fstrGdsName, fstrGdsStandard,
fstrGdsOrigin, fblnIsColor, fblnIsGoods, fblnIsSize, fblnIsUse, fstrSizeGroupID,
fstrUnitM, fblnIsPro, fblnIsBrunt, fstrProperties)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",conn);
pars = cmdInsertGoods.Parameters;
OleDbParameter parfstrComputer = pars.Add(new OleDbParameter("fstrComputer", OleDbType.VarWChar, 50, "fstrComputer"));
OleDbParameter parfstrOperator = pars.Add(new OleDbParameter("fstrOperator", OleDbType.VarWChar, 50, "fstrOperator"));
OleDbParameter parfdtmOpTime = pars.Add(new OleDbParameter("fdtmOpTime", OleDbType.DBTimeStamp));
OleDbParameter parfstrGoodsID = pars.Add(new OleDbParameter("fstrGoodsID", OleDbType.VarWChar, 50, "fstrGoodsID"));
OleDbParameter parfstrGdsName = pars.Add(new OleDbParameter("fstrGdsName", OleDbType.VarWChar, 128, "fstrGdsName"));
OleDbParameter parfstrGdsStandard = pars.Add(new OleDbParameter("fstrGdsStandard", OleDbType.VarWChar, 50, "fstrGdsStandard"));
OleDbParameter parfstrGdsOrigin = pars.Add(new OleDbParameter("fstrGdsOrigin", OleDbType.VarWChar, 50, "fstrGdsOrigin"));
OleDbParameter parfblnIsColor = pars.Add(new OleDbParameter("fblnIsColor", OleDbType.Boolean, 2, "fblnIsColor"));
OleDbParameter parfblnIsGoods = pars.Add(new OleDbParameter("fblnIsGoods", OleDbType.Boolean, 2, "fblnIsGoods"));
OleDbParameter parfblnIsSize = pars.Add(new OleDbParameter("fblnIsSize", OleDbType.Boolean, 2, "fblnIsSize"));
OleDbParameter parfblnIsUse = pars.Add(new OleDbParameter("fblnIsUse", OleDbType.Boolean, 2, "fblnIsUse"));
OleDbParameter parfstrSizeGroupID = pars.Add(new OleDbParameter("fstrSizeGroupID", OleDbType.VarWChar, 36, "fstrSizeGroupID"));
OleDbParameter parfstrUnitM = pars.Add(new OleDbParameter("fstrUnitM", OleDbType.VarWChar, 20, "fstrUnitM"));
OleDbParameter parfblnIsPro = pars.Add(new OleDbParameter("fblnIsPro", OleDbType.Boolean, 2, "fblnIsPro"));
OleDbParameter parfblnIsBrunt = pars.Add(new OleDbParameter("fblnIsBrunt", OleDbType.Boolean, 2, "fblnIsBrunt"));
OleDbParameter parfstrProperties = pars.Add(new OleDbParameter("fstrProperties", OleDbType.VarWChar, 200, "fstrProperties"));


OleDbCommand cmdSelectGoods = new OleDbCommand("SELECT * FROM Goods",conn);
Goods = new DataSet();
OleDbDataAdapter adp = new OleDbDataAdapter(cmdSelectGoods);
adp.Fill(Goods,"Goods");
goods = Goods.Tables["Goods"];

DataColumn colfstrComputer = goods.Columns["fstrComputer"];
DataColumn colfstrOperator = goods.Columns["fstrOperator"];
DataColumn colfdtmOpTime = goods.Columns["fdtmOpTime"];
DataColumn colfstrGoodsID = goods.Columns["fstrGoodsID"];
DataColumn colfstrGdsName = goods.Columns["fstrGdsName"];
DataColumn colfstrGdsStandard = goods.Columns["fstrGdsStandard"];
DataColumn colfstrGdsOrigin = goods.Columns
["fstrGdsOrigin"];
DataColumn colfblnIsColor = goods.Columns["fblnIsColor"];
DataColumn colfblnIsGoods = goods.Columns["fblnIsGoods"];
DataColumn colfblnIsSize = goods.Columns["fblnIsSize"];
DataColumn colfblnIsUse = goods.Columns["fblnIsUse"];
DataColumn colfstrSizeGroupID = goods.Columns["fstrSizeGroupID"];
DataColumn colfstrUnitM = goods.Columns["fstrUnitM"];
DataColumn colfblnIsPro = goods.Columns["fblnIsPro"];
DataColumn colfblnIsBrunt = goods.Columns["fblnIsBrunt"];
DataColumn colfstrProperties = goods.Columns["fstrProperties"];

foreach(DataRow row in goods.Rows)
{
try
{
parfstrComputer.Value = row[colfstrComputer];
parfstrOperator.Value = row[colfstrOperator];
parfdtmOpTime.Value = row[colfdtmOpTime];
parfstrGoodsID.Value = row[colfstrGoodsID];
parfstrGdsName.Value = row[colfstrGdsName];
parfstrGdsStandard.Value = row[colfstrGdsStandard];
parfstrGdsOrigin.Value = row[colfstrGdsOrigin];
parfblnIsColor.Value = row[colfblnIsColor];
parfblnIsGoods.Value = row[colfblnIsGoods];
parfblnIsSize.Value = row[colfblnIsSize];
parfblnIsUse.Value = row[colfblnIsUse];
parfstrSizeGroupID.Value = row[colfstrSizeGroupID];
parfstrUnitM.Value = row[colfstrUnitM];
parfblnIsPro.Value = row[colfblnIsPro];
parfblnIsBrunt.Value = row[colfblnIsBrunt];
parfstrProperties.Value = row[colfstrProperties];

cmdInsertGoods.ExecuteNonQuery();
}
catch(Exception ex)
{
MessageBox.Show(this,ex.Message);
}
}
}
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
windyyang
C# 111,129 成员 642,538 内容