对重复要执行的语句,使用这个方法可以提高执行效率。使用这个方法时候必须声名Parameters的三个参数,否则会产生异常。
且看下面代码:

private void button1_Click(object sender, EventArgs e)
{
Stopwatch sw = new Stopwatch();
sw.Start();
using (SqlConnection con = getCon())
{
con.Open();
SqlCommand com = new SqlCommand(null, con);
com.CommandText = "INSERT INTO tb_user ([Username],[Password]) VALUES(@UserName, @PassWord)";
com.Parameters.Add("@UserName", SqlDbType.NChar, 20);
com.Parameters.Add("@Password", SqlDbType.NChar, 20);
com.Prepare();
for (int i = 0; i < 1; i++)
{
com.Parameters[0].Value = "UserName" + i;
com.Parameters[1].Value = "Password" + i;
com.ExecuteNonQuery();
}
}
sw.Stop();
this.label1.Text = sw.ElapsedMilliseconds.ToString();
}
private SqlConnection getCon()
{
SqlConnection con = new SqlConnection( "Data Source=ITSW;Initial Catalog=CMSDEMO;User ID=sa;Password=xxsecr");
return con;
}
{
Stopwatch sw = new Stopwatch();
sw.Start();
using (SqlConnection con = getCon())
{
con.Open();
SqlCommand com = new SqlCommand(null, con);
com.CommandText = "INSERT INTO tb_user ([Username],[Password]) VALUES(@UserName, @PassWord)";
com.Parameters.Add("@UserName", SqlDbType.NChar, 20);
com.Parameters.Add("@Password", SqlDbType.NChar, 20);
com.Prepare();
for (int i = 0; i < 1; i++)
{
com.Parameters[0].Value = "UserName" + i;
com.Parameters[1].Value = "Password" + i;
com.ExecuteNonQuery();
}
}
sw.Stop();
this.label1.Text = sw.ElapsedMilliseconds.ToString();
}
private SqlConnection getCon()
{
SqlConnection con = new SqlConnection( "Data Source=ITSW;Initial Catalog=CMSDEMO;User ID=sa;Password=xxsecr");
return con;
}
运行十次,在我的电脑上取得结果平均值大约为4150左右。
如果没有使用这个方法,结果平均值大约为4500左右。
标签:
C#
, SqlCommand
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?