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);
}
{
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);
}
<Ilist> 与 <list> 的区别
List<T>实现IList<T>接口,同时也实现了IList接口
在这里users是List<userinfo>类的一个实例