foreach (GridViewRow gvr in GridView3.Rows)
        {
            string sql = "UPDATE worker Set sex=@Title  Where name=@id";
            System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, cn); 
            cmd.Parameters.AddWithValue("@id","xlei");
            cmd.Parameters.AddWithValue("@Title","male");
            cn.Open();
            cmd.ExecuteNonQuery();   
            cmd.Dispose();
            cn.Dispose();
        }
为啥总是提示我Must declare the variable '@Title'.
该怎样声明呢

解决方案 »

  1.   

    存储过程中没有定义 @title
      

  2.   

    存储过程中没有定义   @title
      

  3.   

    string sql = "UPDATE worker Set sex=@Title  Where name=@id";
    改为
    string sql = @"declare @Title varchar(50)
                   UPDATE worker Set sex=@Title  Where name=@id";
      

  4.   

    foreach (GridViewRow gvr in GridView3.Rows)
            {
                string sql = "UPDATE worker Set sex=@Title  Where name=@id";
                System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, cn);
     
                //change
                cmd.Parameters.AddWithValue("@Title","male");
                cmd.Parameters.AddWithValue("@id","xlei");            cn.Open();
                cmd.ExecuteNonQuery();   
                cmd.Dispose();
                cn.Dispose();
            }