public static void UpdateDisplayOrder(string tbName, int ID, int Offset, int companyID)
        {
            string strSQL = null;
            strSQL = "UPDATE {0} SET DisplayOrder=DisplayOrder+{2} WHERE ID={1} AND CompanyID={3}";
            SqlHelper.ExecuteNonQuery(SqlHelper.connectionString, string.Format(strSQL, tbName, ID, Offset, companyID), null);
        }        /// <summary>重新排序
        /// 字段DisplayOrder按照1,3,5,7,9..的顺序重新排序,Where是限制条件,条件:表中一定要有DisplayOrder
        /// </summary>
        /// <param name="tbName">表名</param>
        /// <param name="SQL_WHERE1">条件一</param>
        /// <param name="SQL_WHERE2">条件二</param>
        /// <param name="companyID">公司ID</param>
        public static void RebuildOrder(string tbName, string SQL_WHERE1, string SQL_WHERE2, int companyID)
        {
            string strSQL = null;
            //sql2000可以使用,{0}是表名,{1}是WHREE语句
            strSQL = "UPDATE {0} SET DisplayOrder=(SELECT COUNT(1) FROM {0} b WHERE b.DisplayOrder<a.DisplayOrder AND {1})*2+1 FROM {0} a WHERE {2} AND CompanyID={3}";            //SQL 2005可以使用
            //Private SQL_REBUILD_ORDER As String = "with CTE as (select rw=((Row_Number() OVER (ORDER BY DisplayOrder)) *2-1),* from tb_ProductSort) " & _
            //                                    "update CTE set DisplayOrder=rw"
            SqlHelper.ExecuteNonQuery(SqlHelper.connectionString, string.Format(strSQL, tbName, SQL_WHERE1, SQL_WHERE2, companyID), null);
        }

解决方案 »

  1.   

    <Ilist>userinfo  users=new <list>userinfo;
    <Ilist> 与 <list> 的区别 
      

  2.   

    IList是个接口List是实现IList接口的一个实例
      

  3.   

    IList<userinfo> users=new List<userinfo>();IList<T>是接口
    List<T>实现IList<T>接口,同时也实现了IList接口
    在这里users是List<userinfo>类的一个实例
      

  4.   

    UPDATE {0} SET DisplayOrder=DisplayOrder+{2} WHERE ID={1} AND CompanyID={3}";这种情况,sql表达式是正确,并能运行吗?