可以在页面里面循环执行存储过程么?

来源:百度知道 编辑:UC知道 时间:2024/07/06 21:38:18
for(int i=0;i<6;i++)
{

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand cmd2 = new SqlCommand("caiji", conn);
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.Parameters.Add("@Id", id);
cmd2.Parameters.Add("@userName", nm);

conn.Open();
cmd2.ExecuteNonQuery();
conn.Close();

Response.Write("<br />chenggong" + id);

}
为什么只执行
我执行的时update 存储过程,为什么总是只更新第一条信息?
存储过程为:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE.[dbo].[caiji]
@Id int,

@userName nvarchar(100)

As

update MusicList set userName = @userName where Id=@Id

return 0

你id值不变当然只更新一条数据

你如果这样
cmd2.Parameters.Add("@Id", i);
那就会循环

但从贴出来的代码看没有什么问题
如果不是你的userName,和 id 的值没有改变, 把你的存储过程贴出来看看!
建议你把
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
放到循环的外边,减少不必要的浪费