1.session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法 ?
回答一:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。
回答二:用viewstate stateserver
回答三:用VIEWSTATE /Profile/自己在服务器端实现个Cache
回答四:可以使用Profile,持久化到数据库,不占内存,而且也不会丢失.关于ASP.NET中Profile的原理,配置,使用,这个说来话长,你应该再找找资料系统学习一下.但使用Profile是能满足你的要求的.
2.sql查找10to20
select top 11 * from [tab] where [stId] not in (select top 9 [stId] from [tab] order by [sc] desc)order by [sc] desc
3.表 T(a,b,c) ,查询出A,B,C的值,当A的值是NULL时,显示为 0
SELECT ifnull(a,0) , b , c FROM T ;
IFNULL(字段名,值)
拓展:
select (case 列 when 'A' then 30
when 'B' then 25
when 'C' then 20
when 'D' then 10 end) from 表
4.6位string 不足六位,左边添0
C# String 前面不足位数补零的方法
int i=10;
方法1:Console.WriteLine(i.ToString("D5"));
方法2:Console.WriteLine(i.ToString().PadLeft(5,'0'));//推荐
方法3:Console.WriteLine(i.ToString("00000"));
在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位。
PadLeft(int totalWidth, char paddingChar) //在字符串左边用 paddingChar 补足 totalWidth 长度
PadLeft(int totalWidth, char paddingChar) //在字符串右边用 paddingChar 补足 totalWidth 长度
示例:
h = h.PadLeft(2, '0');
注意第二个参数为 char 类型,所以用单引号,也可以用 Convert.ToChar(string value) 把字符串转换成 char 类型。如果字符串长度大于 1,则使用 str.ToCharArray()[index]。