.net每日收获

一、textarea标签换行
Replace("\r\n", "<br>");

 

二、contains全文索引
contains(字段名,‘要查询的关键字’)

 

三、实现海量数据分页
方法一:存储过程实现
CREATE procedure [dbo].[p_splitpage]
@sql nvarchar(4000), --要执行的sql语句
@page int, --要显示的页码
@pageSize int, --每页的大小
@pageCount int output, --总页数
@recordCount int output --总记录数
as
set nocount on
declare @p1 int

exec sp_cursoropen @p1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output
set @recordCount = @pageCount
select @pagecount=ceiling(1.0*@pagecount/@pagesize)
,@page=(@page-1)*@pagesize+1
exec sp_cursorfetch @p1,16,@page,@pagesize
exec sp_cursorclose @p1

方法二:Dataset实现

MyAdapter.Fill(DataSet,StartRow,RowsCount,TableName);

方法三:用PagedDataSource类实现
PagedDataSource objPds = new PagedDataSource();
objPds.AllowPaging = true;
objPds.PageSize = PageSize;
objPds.CurrentPageIndex = CurrentPage - 1;
objPds.DataSource = dsSave.Tables[0].DefaultView;


四、Dataset 相加
dsSave.Merge(dset, false, MissingSchemaAction.Add);

五、字符串按自定义排序
Sign(Charindex('关键字',字段名)) 自定义字段名
返回(1.找到,0.没有找到,-1,不存在)

六、缓存设置
public static void SetCache(string CacheKey, object objObject ,int hours)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
System.Web.HttpRuntime.Cache.Insert(CacheKey, objObject, null, DateTime.Now.AddHours(hours), TimeSpan.Zero, CacheItemPriority.Default, null);
}

七、去掉3个以上空格
Regex.Replace(s, "\\s{3,}", "");

八、局部临时表与全局临时表的区别
1、局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除。
2、全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除。
3、不管局部临时表还是全局临时表,只要连接有访问权限,都可以用drop table #Tmp(或者drop table ##Tmp)来显式删除临时表。

九、判断SQL字段数据长度
len(字段名)

十、比较ArrayList集合中是否指定元素
al.contains(元素)

十一、过滤html标签
Regex.Replace(contect, "<(.*?)>", "", RegexOptions.Singleline);

十二、ROW_NUMBER()使用
USE temp
GO
WITH OrderedOrders AS
(SELECT *,
ROW_NUMBER() OVER (order by ID)as RowNumber
FROM dbo.Users )
SELECT *
FROM OrderedOrders
WHERE RowNumber between 1 and 10000
go

十三、如何清除textBox的cookies
AutoComplete="off"

十四、SQL数据库如何查看SQL语句查询效率
set statistics profile on
set statistics io on
set statistics time on

十五、清除SQL数据库数据缓存
DBCC DROPCLEANBUFFERS 从缓冲池中删除所有清除缓冲区。
DBCC FREEPROCCACHE 从过程缓存中删除所有元素。

十六、获取\失去焦点时触发清空当前文本框
onfocus="this.value='';"
onblur="this.value='';"

十七、MSSQL设置在每周第一天为星期几
set datefirst (1-7)

 

十八、利用 ISAPI_Rewrite 做301永久转向


#301域名重定项
RewriteCond Host: ^tradevv\.com$
RewriteRule (.*) http\://www\.tradevv\.com$1 [I,RP]
#301单页面重定项
RewriteRule ^/vs-([^/]*)$ /vs-$1/ [I,RP]
RewriteRule ^/chinasuppliers/([^/]*)/products-detail/china-([^/]*)-([^/^-]*).html$ /chinasuppliers/$1_p_$3/china-$2.html [I,RP]

 

十九、选择数据库恢复模式

完整恢复模式:
ALTER DATABASE database_name SET RECOVERY FULL;

大容量日志恢复模式:

ALTER DATABASE database_name SET RECOVERY BULK_LOGGED;

简单模式:

ALTER DATABASE database_name SET RECOVERY SIMPLE

 

二十、快速删除SQL表数据

TRUNCATE TABLE table_name 

 

二十一、页面防止多次提交

if (Request.Headers["Accept"] != "*/*")
 

方法一.Request.Headers["Accept"] != "*/*" (仅支持IE)

 

二十二、禁止在.NET Framework 中执行用户代码

 

exec sp_configure 'show advanced options', '1';

go

reconfigure;

go

exec sp_configure 'clr enabled', '1'

go

reconfigure;

exec sp_configure 'show advanced options', '1';

go

 

 

二十三、截取字符用省略号代替

 

width:200px;

white-space:nowrap;

word-break:keep-all;

overflow:hidden;

text-overflow:ellipsis;

二十四、删除数据库临时表

 

IF OBJECT_ID('tempdb..#tempName') IS NOT NULL 

BEGIN

   DROP TABLE #tempName

END

 

1、修改字段名:

 

  alter table 表名 rename column A to B

 

2、修改字段类型:

 

  alter table 表名 alter column 字段名 type not null

 

3、修改字段默认值

  alter table 表名 add default (0) for 字段名 with values

 

  如果字段有默认值,则需要先删除字段的约束,在添加新的默认值,

 

  select c.name from sysconstraints a 

  inner join syscolumns b on a.colid=b.colid 

  inner join sysobjects c on a.constid=c.id

  where a.id=object_id('表名') 

  and b.name='字段名'

 

  根据约束名称删除约束

 

  alter table 表名 drop constraint 约束名

 

  根据表名向字段中增加新的默认值

 

  alter table 表名 add default (0) for 字段名 with values

 

4、增加字段:

 

  alter table 表名 add 字段名 type not null default 0

 

5、删除字段:

 

  alter table 表名 drop column 字段名;

 

 

 

posted @ 2010-03-11 15:32  银色奇迹  阅读(372)  评论(1编辑  收藏  举报