如何向sqlserver插入海量数据?

shuaiwang_01 2009-04-13 09:40:53
如何向sqlserver插入海量数据?
double value = 50.0;
private void button1_Click(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("data source=WANGSHUAI-PC\\SQLEXPRESS;initial catalog=Stock;integrated security=sspi");
SqlCommand sqlcmd = sqlconn.CreateCommand();
sqlcmd.CommandText = "insert into MyTable values(@myValue)";
Random random = new Random();
value = value + (random.NextDouble() * 10.0 - 5.0);
SqlParameter param = new SqlParameter("@myValue", value);
sqlcmd.Parameters.Add(param);
sqlconn.Open();
sqlcmd.ExecuteNonQuery();
sqlconn.Close();
}

上面的代码显示了我的意图,但当我用一个for循环时,它指出@myValue只能用一次。
...全文
124 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Johnny0217 2009-05-22
  • 打赏
  • 举报
回复
记得用事务,要么全部成功,要么全部失败
shuaiwang_01 2009-04-13
  • 打赏
  • 举报
回复
6楼错误!


表就是id,stockValue两列,id是主键。
路人乙e 2009-04-13
  • 打赏
  • 举报
回复
double value = 50.0;
private void button1_Click(object sender, EventArgs e)
{
SqlConnection sqlconn = new SqlConnection("data source=WANGSHUAI-PC\\SQLEXPRESS;initial catalog=Stock;integrated security=sspi");
SqlCommand sqlcmd = sqlconn.CreateCommand();
sqlconn.Open();
for(int i=0;i<10000;i++)
{
sqlcmd.CommandText = "insert into MyTable values(@myValue)";
Random random = new Random();
value = value + (random.NextDouble() * 10.0 - 5.0);
SqlParameter param = new SqlParameter("@myValue", value);
sqlcmd.Parameters.Add(param);

sqlcmd.ExecuteNonQuery();
}
sqlconn.Close();
}
woodt 2009-04-13
  • 打赏
  • 举报
回复
海量数据不应该在程序上处理,尽量在数据库上用BCP处理
sabty 2009-04-13
  • 打赏
  • 举报
回复
对用 BULK INSERT 效率很高
AlexChan1981 2009-04-13
  • 打赏
  • 举报
回复
是否设置了主键?
skycc999 2009-04-13
  • 打赏
  • 举报
回复
可以先把数据存入文件,然后用BULK INSERT语句导入。
挨打要站稳 2009-04-13
  • 打赏
  • 举报
回复
你可以先把数据放到DataTable 中,然后再一次性更新所有的嘛~用SqlDataAdapter 的更新方法~

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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