首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

变量名 '@seq' 已宣言。变量名在查询批次或存储过程内部必须唯一

2013-08-01 
变量名 '@seq' 已声明。变量名在查询批次或存储过程内部必须唯一在for循环里面报错了,变量名 @s

变量名 '@seq' 已声明。变量名在查询批次或存储过程内部必须唯一
在for循环里面  报错了,变量名 '@seq' 已声明。变量名在查询批次或存储过程内部必须唯一
 


int claId = Convert.ToInt32(Request.QueryString["claID"]); 

for (int i = 0; i < dsDeta.Tables[0].Rows.Count; i++)
                {
                    TextBox txXuhao = this.form1.FindControl("txtXuhao"+i) as TextBox;
                    int a =Convert.ToInt32(txXuhao.Text.ToString());

                    DropDownList dpte = this.form1.FindControl("dptea" + i) as DropDownList;
                    int b =Convert.ToInt32(dpte.SelectedValue);

                    TextBox txtBe = this.form1.FindControl("txtBegin"+i) as TextBox;
                    DateTime c = Convert.ToDateTime("2013-07-01 11:30:00.000");
                    

                    TextBox txten = this.form1.FindControl("txtEnd" + i) as TextBox;
                    DateTime d = Convert.ToDateTime("2013-07-01 11:30:00.000");

                    TextBox txtco = this.form1.FindControl("txtCode" + i) as TextBox;
                    string e = txtco.Text;

                    string sql2 = "UPDATE tbl_Class_Profile_Detail  SET  Class_ID  = @claid , Class_Sequence  = @seq"
          + ", Teacher_ID  =@tead , Class_Time_Begin  =@begin , Class_Time_End  =@end , Course_Code  = @code  WHERE  Detail_ID=@detailid ";


                    SqlParameter[] sqlpa2 = new SqlParameter[]
                {  
new SqlParameter("@seq",a), 
                      new SqlParameter("@claid",claId),                                     
                    new SqlParameter("@tead",b),
                    new SqlParameter("@begin",c),
                    new SqlParameter("@end",d),
                    new SqlParameter("@code",e),
                    new SqlParameter("@detailid",Convert.ToInt32(dsDeta.Tables[0].Rows[i]["Detail_ID"].ToString()))
                };
                    cmd.CommandText = sql2;
                    cmd.Parameters.AddRange(sqlpa2);
                    cmd.ExecuteNonQuery();
                }


[解决办法]
cmd.Parameters.Clear();
cmd.Parameters.AddRange(sqlpa2);
[解决办法]
for循环很显然你执行了多次,如果你只执行一次就没问题了。


要不然你执行完一条后就释放就行了。

热点排行