多线程插入多个表

combuu 2014-04-06 09:15:41
我用多个线程插入多个表,最后提示超过服务期等待时间
不过数据库中都插入了数据,test和test2表中有199条数据,test1中有198条数据
求大神看看哪错了
报错如下
代码:

using System.Collections.Generic;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Threading;

public partial class index : System.Web.UI.Page
{
public void write(object con)
{
Response.Write("线程1执行<br>");
SqlConnection conn = (SqlConnection)con;
SqlCommand cmd = conn.CreateCommand();
for (int i = 1; i < 200; i++)
{
cmd.CommandText = "insert into test(name) values ('huhu" + i.ToString() + "')";
cmd.ExecuteNonQuery();
}
Response.Write("线程1执行完毕<br>");
}

public void write1(object con)
{
Response.Write("线程2执行<br>");
SqlConnection conn = (SqlConnection)con;
SqlCommand cmd1 = conn.CreateCommand();
for (int j = 1; j < 200; j++)
{
cmd1.CommandText = "insert into test1(name) values ('huhu" + j.ToString() + "')";
cmd1.ExecuteNonQuery();
}
Response.Write("线程2执行完毕<br>");
}
public void write2(object con)
{
Response.Write("线程3执行<br>");
SqlConnection conn = (SqlConnection)con;
SqlCommand cmd2 = conn.CreateCommand();
for (int k = 1; k < 200; k++)
{
cmd2.CommandText = "insert into test2(name) values ('huhu" + k.ToString() + "')";
cmd2.ExecuteNonQuery();
}
Response.Write("线程3执行完毕<br>");
}

public void btnnn(object sender, EventArgs e)
{


String ConnectionString = "Data Source=localhost;Initial Catalog=mydb;uid=sa;pwd=sa";
SqlConnection con = new SqlConnection(ConnectionString);
con.Open();
Thread thread = new Thread(new ParameterizedThreadStart(write));
Thread thread1 = new Thread(new ParameterizedThreadStart(write1));
Thread thread2 = new Thread(new ParameterizedThreadStart(write2));
thread.Start(con);
thread1.Start(con);
thread2.Start(con);
thread.Join();
thread1.Join();
thread2.Join();
con.Close();
Response.Write("执行完毕");
}
}
...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rocly 2014-04-07
  • 打赏
  • 举报
回复
combuu 2014-04-06
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
不要使用同一个con,要使用3个分别独立的con。
已解决,多谢多谢
  • 打赏
  • 举报
回复
不要使用同一个con,要使用3个分别独立的con。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧